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 | ARI 5 - 2 SD | ARI | 0.530 | scoring_simulation.final_score | True |
| Simulation draw | ARI 6 - 2 SD | ARI | - | 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.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 | 7.366 | 2.366 | - | Base ML historical model prediction |
| 2 | variance_applied | 8 | 2 | - | 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 | 6 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.43387755518672205,
"base_low_score_probability": 0.4197786998616874,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.014098855325034632,
"confidence": 0.6167932,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.1,
"team_form": 0.94,
"situational": 1.0,
"combined": 1.0335864000000001
},
"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": 14,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 14,
"global_sample_size": 117,
"bucket_scope": "sparse_pooled_0.12",
"sparse_bucket": true,
"empirical_hit_rate": 0.8571,
"bayesian_hit_rate": 0.619,
"sample_weight": 0.2833,
"prior_strength": 28.0,
"reliability": 0.3333,
"confidence_cap": 0.53,
"raw_pick_probability": 0.762,
"calibrated_pick_probability": 0.53,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "SD",
"games": 89,
"wins": 44,
"losses": 45,
"win_pct": 0.4943820224719101,
"runs_scored": 348,
"runs_allowed": 390,
"run_differential": -42,
"run_differential_per_game": -0.47191011235955055,
"available": true
},
"away": {
"team": "ARI",
"games": 89,
"wins": 44,
"losses": 45,
"win_pct": 0.4943820224719101,
"runs_scored": 377,
"runs_allowed": 406,
"run_differential": -29,
"run_differential_per_game": -0.3258426966292135,
"available": true
},
"run_differential_edge_per_game": -0.1461,
"win_pct_edge": 0.0,
"quality_edge": -0.1461,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "ARI",
"guardrail_predicted_team": "ARI",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "ARI",
"output_opponent_team": "SD",
"final_score_winner": "ARI",
"pre_simulation_winner": "ARI",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "ARI 5 - 2 SD",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "ARI 6 - 2 SD",
"winner": "ARI"
},
"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": 3,
"final_margin": 4,
"winner_quality_edge": 0.1461,
"winner": "ARI",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "SD",
"games": 89,
"wins": 44,
"losses": 45,
"win_pct": 0.4943820224719101,
"runs_scored": 348,
"runs_allowed": 390,
"run_differential": -42,
"run_differential_per_game": -0.47191011235955055,
"available": true
},
"away": {
"team": "ARI",
"games": 89,
"wins": 44,
"losses": 45,
"win_pct": 0.4943820224719101,
"runs_scored": 377,
"runs_allowed": 406,
"run_differential": -29,
"run_differential_per_game": -0.3258426966292135,
"available": true
}
}
}{
"applied": true,
"raw_margin": -6.293,
"final_margin": -1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.1461,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 4.133,
"home_runs": 2.633
}
}{
"applied": false,
"raw_confidence": 0.53,
"final_confidence": 0.53,
"confidence_cap": 0.53,
"score_gap": 3.0818,
"calibration_sample_size": 14,
"calibration_empirical_hit_rate": 0.8571,
"calibration_bayesian_hit_rate": 0.619,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.1461,
"reasons": [
"unvalidated probabilities are capped for production display",
"historical confidence bucket is sparse",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "ARI 5 - 2 SD",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "ARI 6 - 2 SD",
"winner": "ARI"
},
"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": 3,
"final_margin": 4,
"winner_quality_edge": 0.1461,
"winner": "ARI",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 6,
"home_runs": 2,
"confidence": 0.53,
"home_win_probability": 0.47,
"away_win_probability": 0.53,
"predicted_score_text": "ARI 6 - 2 SD",
"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": "ARI",
"original_runs": 5,
"run_delta": 0.2773,
"adjusted_runs": 5,
"lineup": {
"players_used": 8,
"total_weight": 29.0,
"quality": 0.22939085898563033,
"contact": 0.17986161615444238,
"power": -0.04618160869397927,
"discipline": 0.49569070837884227,
"xwoba": 0.3251724137931035,
"recent_xwoba": 0.3251724137931035,
"barrel": 7.479310344827585,
"ab_hard_contact": 0.06584565863273115,
"ab_bat_speed": 70.13655782811993,
"ab_strikeout_rate": 0.1770104410464451,
"available_players": 8,
"top_players": [
{
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "DH_606466",
"weight": 4.0,
"quality": 1.1623051687695094,
"contact": 1.4314303319750765,
"power": 1.193584694661784,
"discipline": 0.3411190476190476,
"xwoba": 0.378,
"recent_xwoba": 0.378,
"barrel": 11.3,
"ab_hard_contact": 0.6964557979975898,
"ab_bat_speed": 73.25293096891535,
"ab_strikeout_rate": 0.15133333333333332,
"available": 1.0
},
{
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "DH_682998",
"weight": 4.0,
"quality": 0.7476527027377265,
"contact": 0.778642742487897,
"power": 0.9894550213713755,
"discipline": 0.21785164835164836,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 11.9,
"ab_hard_contact": 1.5395766179037007,
"ab_bat_speed": 74.37748888888889,
"ab_strikeout_rate": 0.22724358974358974,
"available": 1.0
},
{
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "DH_571448",
"weight": 3.0,
"quality": -0.41190393989604246,
"contact": -0.5384977120118519,
"power": -0.5679230791592863,
"discipline": 0.04290802987861823,
"xwoba": 0.296,
"recent_xwoba": 0.296,
"barrel": 6.4,
"ab_hard_contact": -0.5523663450904797,
"ab_bat_speed": 69.84964002267574,
"ab_strikeout_rate": 0.1918300653594771,
"available": 1.0
},
{
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "DH_672515",
"weight": 4.0,
"quality": 0.3815862141871112,
"contact": 0.9960701615584097,
"power": 0.45251177282177285,
"discipline": 0.819782738095238,
"xwoba": 0.365,
"recent_xwoba": 0.365,
"barrel": 8.1,
"ab_hard_contact": -0.10747882927882324,
"ab_bat_speed": 70.22562934027778,
"ab_strikeout_rate": 0.2078125,
"available": 1.0
},
{
"player_id": "666971",
"player_name": "Lourdes Gurriel Jr.",
"position": "DH_666971",
"weight": 4.0,
"quality": -0.22533984248641825,
"contact": -0.5531590879455578,
"power": -0.7490248225097825,
"discipline": -0.08949603174603182,
"xwoba": 0.281,
"recent_xwoba": 0.281,
"barrel": 4.9,
"ab_hard_contact": -0.22468692638612958,
"ab_bat_speed": 69.33210209235209,
"ab_strikeout_rate": 0.17430555555555557,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "621111",
"player_name": "Walker Buehler",
"quality": -0.3343442885327165,
"contact": -0.51321398531377,
"command": -0.24471428571428575,
"movement": -0.3340125937444933,
"xwoba": 0.326,
"whiff": 20.6,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "SD",
"original_runs": 2,
"run_delta": 0.343,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.16515368693503812,
"contact": -0.1395128705680089,
"power": 0.04342760314776082,
"discipline": 0.09278468726613882,
"xwoba": 0.3106333333333333,
"recent_xwoba": 0.3106333333333333,
"barrel": 8.83,
"ab_hard_contact": -0.06108603228287394,
"ab_bat_speed": 70.65224221528761,
"ab_strikeout_rate": 0.24428436035290874,
"available_players": 8,
"top_players": [
{
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"weight": 4.0,
"quality": 0.8296685719151715,
"contact": 1.0905435437699476,
"power": 0.8431041242587262,
"discipline": -0.10987179487179481,
"xwoba": 0.352,
"recent_xwoba": 0.352,
"barrel": 11.0,
"ab_hard_contact": 0.8148443899364362,
"ab_bat_speed": 72.76390277777777,
"ab_strikeout_rate": 0.22403846153846155,
"available": 1.0
},
{
"player_id": "592518",
"player_name": "Manny Machado",
"position": "3B",
"weight": 4.0,
"quality": 0.2678750975697247,
"contact": 0.04376708681024155,
"power": 0.4939426536727357,
"discipline": 0.31622344322344303,
"xwoba": 0.319,
"recent_xwoba": 0.319,
"barrel": 10.8,
"ab_hard_contact": 0.13599593059757387,
"ab_bat_speed": 72.20355555555555,
"ab_strikeout_rate": 0.23237179487179488,
"available": 1.0
},
{
"player_id": "630105",
"player_name": "Jake Cronenworth",
"position": "2B",
"weight": 3.0,
"quality": -0.22333690604587544,
"contact": -0.6828290549834487,
"power": -0.616006428452396,
"discipline": 0.3236121351766513,
"xwoba": 0.296,
"recent_xwoba": 0.296,
"barrel": 6.8,
"ab_hard_contact": -0.727366664286011,
"ab_bat_speed": 68.85162972085386,
"ab_strikeout_rate": 0.2252688172043011,
"available": 1.0
},
{
"player_id": "657757",
"player_name": "Gavin Sheets",
"position": "1B",
"weight": 3.0,
"quality": 0.283625976844482,
"contact": 0.4170001734631719,
"power": 0.34551291650633226,
"discipline": 0.4011626984126983,
"xwoba": 0.337,
"recent_xwoba": 0.337,
"barrel": 8.2,
"ab_hard_contact": 0.9769249967933167,
"ab_bat_speed": 73.19456219806763,
"ab_strikeout_rate": 0.21736111111111112,
"available": 1.0
},
{
"player_id": "823550",
"player_name": "Sung-Mun Song",
"position": "SS",
"weight": 3.0,
"quality": -0.07807630983756261,
"contact": -1.0445901415169863,
"power": -0.8092188821939255,
"discipline": 0.7425238095238094,
"xwoba": 0.278,
"recent_xwoba": 0.278,
"barrel": 7.5,
"ab_hard_contact": -0.6666633581642261,
"ab_bat_speed": 63.42415123456791,
"ab_strikeout_rate": 0.2,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "593958",
"player_name": "Eduardo Rodriguez",
"quality": -0.5290108593441418,
"contact": -0.431363721979881,
"command": -0.56,
"movement": -0.5677969323844857,
"xwoba": 0.343,
"whiff": 19.7,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"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": -0.1461,
"recent_form_edge_home_minus_away": -1.536,
"pitcher_matchup_edge_home_minus_away": -0.0009,
"composite_home_edge": -1.0063,
"existing_home_win_probability": 0.47,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 1.0063
},
"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": "ARI 5 - 2 SD",
"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": "ARI 5 - 2 SD",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "ARI 6 - 2 SD",
"winner": "ARI"
},
"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": 3,
"final_margin": 4,
"winner_quality_edge": 0.1461,
"winner": "ARI",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "ARI",
"display_confidence": 0.53,
"internal_fair_probability": 0.6142,
"confidence_compression_detected": true,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.0902,
"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": 0.1461,
"winner_recent_form_edge": 1.536,
"winner_pitcher_matchup_edge": 0.0009,
"winner_simulation_draw_rate": 0.4,
"blowout_draw_rate_margin_4_plus": 0.3,
"high_total_draw_rate_11_plus": 0.1,
"low_total_draw_rate_6_or_less": 0.6,
"total_runs_spread": {
"min": 1,
"median": 6,
"max": 15,
"range": 14
}
},
"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 ARI | True | 1.0196 | 1.0221 | 0.8889 | 8 | 1 |
| Home SD | True | 1.0138 | 1.0138 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Pavin Smith | 567 | 0.9742 | -0.3443 | positive_batter_regression | 0.2640 | 0.1910 | 0.2570 | 3.60 | 32.10 | 85.90 | 14.10 | 15.50 | 18.50 | 12.30 | 1.0857 |
| DH_606466 | Ketel Marte | 65 | 1.1146 | 1.5275 | positive_batter_regression | 0.3780 | 0.3040 | 0.5180 | 11.30 | 46.10 | 91.50 | 11.70 | 20.20 | 13.10 | 7.50 | 0.9143 |
| DH_694371 | Tommy Troy | 305 | 1.0044 | 0.0583 | neutral | 0.3100 | 0.2360 | 0.4010 | 9.90 | 30.90 | 84.90 | 11.50 | 25.50 | 23.30 | 9.20 | 0.6857 |
| DH_672695 | Geraldo Perdomo | 48 | 1.0071 | 0.0950 | neutral | 0.3280 | 0.2540 | 0.3410 | 3.10 | 30.40 | 87.10 | 13.40 | 12.50 | 12.60 | 14.30 | 0.2000 |
| DH_672515 | Gabriel Moreno | 51 | 1.0419 | 0.5586 | neutral | 0.3650 | 0.2800 | 0.4440 | 8.10 | 44.80 | 89.80 | 11 | 17 | 16 | 11.50 | 0.4000 |
| DH_571448 | Nolan Arenado | 146 | 0.9824 | -0.2346 | neutral | 0.2960 | 0.2370 | 0.3570 | 6.40 | 31.40 | 85.30 | 18.70 | 23.40 | 20.80 | 7.90 | -0.3714 |
| DH_682998 | Corbin Carroll | 16 | 1.0651 | 0.8679 | neutral | 0.3530 | 0.2600 | 0.4590 | 11.90 | 47.30 | 91.50 | 14.40 | 28.90 | 22.30 | 11.40 | -0.4857 |
| DH_666971 | Lourdes Gurriel Jr. | 480 | 0.9871 | -0.1714 | neutral | 0.2810 | 0.2320 | 0.3200 | 4.90 | 32.80 | 86.70 | 14.50 | 24.20 | 17.30 | 6.20 | 0.5714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Jake Cronenworth | 538 | 0.9959 | -0.0547 | positive_batter_regression | 0.2960 | 0.2180 | 0.3270 | 6.80 | 30.30 | 87.30 | 7.70 | 23.90 | 22.50 | 10.90 | 1.4571 |
| RF | Fernando Tatis Jr. | 158 | 1.0807 | 1.0758 | neutral | 0.3520 | 0.2860 | 0.4330 | 11 | 52.90 | 91.80 | 4.70 | 28.60 | 20.50 | 8.30 | 0.8000 |
| 3B | Manny Machado | 275 | 1.0346 | 0.4617 | neutral | 0.3190 | 0.2280 | 0.4160 | 10.80 | 43.60 | 90 | 12.40 | 26.90 | 22.40 | 11.70 | 0.5714 |
| 1B | Gavin Sheets | 187 | 1.0314 | 0.4193 | neutral | 0.3370 | 0.2520 | 0.4250 | 8.20 | 42.80 | 89 | 14.70 | 21 | 22.20 | 10.60 | -0.1143 |
| DH | Ty France | 104 | 1.0085 | 0.1135 | neutral | 0.3100 | 0.2320 | 0.4180 | 10.60 | 45.80 | 91.10 | 11.80 | 29.60 | 24.90 | 5.20 | -0.7429 |
| CF | Jackson Merrill | 225 | 1.0266 | 0.3540 | neutral | 0.3020 | 0.2340 | 0.4110 | 10 | 46.30 | 89.90 | 13.20 | 27.70 | 25.80 | 6.90 | 0.7714 |
| LF | Samad Taylor | 227 | 0.9942 | -0.0769 | negative_batter_regression | 0.3280 | 0.2820 | 0.3490 | 3.50 | 22.80 | 84.80 | 7.30 | 22.90 | 28.10 | 12.50 | -1.1714 |
| SS | Sung-Mun Song | 308 | 0.9762 | -0.3172 | neutral | 0.2780 | 0.1950 | 0.3070 | 7.50 | 24.50 | 86.20 | 17 | 23.30 | 18.20 | 13 | -0.7714 |
| C | Rodolfo Durán | 357 | 0.9762 | -0.3168 | neutral | 0.2600 | 0.1720 | 0.3270 | 9.30 | 29.60 | 87.10 | 14.40 | 24.60 | 24.40 | 8.50 | 0.5714 |
{
"home": {
"applied": true,
"offense_factor": 1.0138,
"raw_average_factor": 1.0138,
"team_espn_average_rank": 264.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "630105",
"player_name": "Jake Cronenworth",
"offense_factor": 0.9959,
"quality_score": -0.0547,
"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": 538,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 538,
"gp_value": 39.0,
"gp_rank": 346,
"ab_value": 119.0,
"ab_rank": 322,
"r_value": 14.0,
"r_rank": 328,
"h_value": 20.0,
"h_rank": 366,
"avg_value": 0.1680672,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 417,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 2.0,
"hr_rank": 341,
"rbi_value": 7.0,
"rbi_rank": 399,
"tb_value": 28.0,
"tb_rank": 2252,
"bb_value": 15.0,
"bb_rank": 242,
"so_value": 31.0,
"so_rank": 303,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.2773722,
"obp_rank": "-",
"slg_value": 0.2352941,
"slg_rank": "-",
"ops_value": 0.5126663,
"ops_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 114.0,
"k_percent": 22.5,
"bb_percent": 10.9,
"woba": 0.245,
"xwoba": 0.296,
"xba": 0.218,
"xslg": 0.327,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 30.3,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 7.7,
"whiff_percent": 23.9,
"swing_percent": 44.2
},
"components": {
"expected_quality": -0.3599,
"regression_edge": 1.4571,
"xwoba_edge": -0.1714,
"xba_edge": -0.6,
"xslg_edge": -0.65,
"barrel_edge": -0.0444,
"hard_hit_edge": -1.1357,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"offense_factor": 1.0807,
"quality_score": 1.0758,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665487",
"espn_id": 35983,
"player_name": "Fernando Tatis Jr.",
"team": "SD",
"role": "batter",
"espn_rank": 158,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 158,
"gp_value": 88.0,
"gp_rank": 24,
"ab_value": 345.0,
"ab_rank": 11,
"r_value": 41.0,
"r_rank": 92,
"h_value": 98.0,
"h_rank": 7,
"avg_value": 0.2840579,
"avg_rank": 27.0,
"2b_value": 18.0,
"2b_rank": 29,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 34.0,
"rbi_rank": 126,
"tb_value": 133.0,
"tb_rank": 876,
"bb_value": 32.0,
"bb_rank": 75,
"so_value": 79.0,
"so_rank": 64,
"sb_value": 21.0,
"sb_rank": 6,
"obp_value": 0.3454545,
"obp_rank": "54",
"slg_value": 0.3855072,
"slg_rank": "113",
"ops_value": 0.7309617,
"ops_rank": 167.0,
"war_value": 0.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 20.5,
"bb_percent": 8.3,
"woba": 0.324,
"xwoba": 0.352,
"xba": 0.286,
"xslg": 0.433,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 52.9,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 4.7,
"whiff_percent": 28.6,
"swing_percent": 47.6
},
"components": {
"expected_quality": 1.1207,
"regression_edge": 0.8,
"xwoba_edge": 1.4286,
"xba_edge": 1.3429,
"xslg_edge": 0.8643,
"barrel_edge": 0.8889,
"hard_hit_edge": 2.0929,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "592518",
"player_name": "Manny Machado",
"offense_factor": 1.0346,
"quality_score": 0.4617,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592518",
"espn_id": 31097,
"player_name": "Manny Machado",
"team": "SD",
"role": "batter",
"espn_rank": 275,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 275,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 317.0,
"ab_rank": 65,
"r_value": 44.0,
"r_rank": 71,
"h_value": 60.0,
"h_rank": 148,
"avg_value": 0.1892744,
"avg_rank": 160.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 18.0,
"hr_rank": 25,
"rbi_value": 51.0,
"rbi_rank": 32,
"tb_value": 130.0,
"tb_rank": 722,
"bb_value": 43.0,
"bb_rank": 31,
"so_value": 82.0,
"so_rank": 54,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.2821917,
"obp_rank": "153",
"slg_value": 0.4100946,
"slg_rank": "99",
"ops_value": 0.6922863,
"ops_rank": 252.0,
"war_value": 0.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 22.4,
"bb_percent": 11.7,
"woba": 0.299,
"xwoba": 0.319,
"xba": 0.228,
"xslg": 0.416,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 12.4,
"whiff_percent": 26.9,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.4615,
"regression_edge": 0.5714,
"xwoba_edge": 0.4857,
"xba_edge": -0.3143,
"xslg_edge": 0.6214,
"barrel_edge": 0.8444,
"hard_hit_edge": 0.7643,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "657757",
"player_name": "Gavin Sheets",
"offense_factor": 1.0314,
"quality_score": 0.4193,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657757",
"espn_id": 40700,
"player_name": "Gavin Sheets",
"team": "SD",
"role": "batter",
"espn_rank": 187,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 187,
"gp_value": 83.0,
"gp_rank": 96,
"ab_value": 259.0,
"ab_rank": 132,
"r_value": 32.0,
"r_rank": 152,
"h_value": 61.0,
"h_rank": 141,
"avg_value": 0.2355212,
"avg_rank": 119.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 14.0,
"hr_rank": 48,
"rbi_value": 39.0,
"rbi_rank": 92,
"tb_value": 118.0,
"tb_rank": 805,
"bb_value": 31.0,
"bb_rank": 81,
"so_value": 65.0,
"so_rank": 110,
"sb_value": 4.0,
"sb_rank": 146,
"obp_value": 0.324232,
"obp_rank": "89",
"slg_value": 0.4555984,
"slg_rank": "59",
"ops_value": 0.7798304,
"ops_rank": 30.0,
"war_value": 0.76,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 165.0,
"k_percent": 22.2,
"bb_percent": 10.6,
"woba": 0.341,
"xwoba": 0.337,
"xba": 0.252,
"xslg": 0.425,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 42.8,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 14.7,
"whiff_percent": 21.0,
"swing_percent": 43.7
},
"components": {
"expected_quality": 0.6686,
"regression_edge": -0.1143,
"xwoba_edge": 1.0,
"xba_edge": 0.3714,
"xslg_edge": 0.75,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.65,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "664034",
"player_name": "Ty France",
"offense_factor": 1.0085,
"quality_score": 0.1135,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664034",
"espn_id": 35591,
"player_name": "Ty France",
"team": "SD",
"role": "batter",
"espn_rank": 104,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 104,
"gp_value": 66.0,
"gp_rank": 203,
"ab_value": 194.0,
"ab_rank": 222,
"r_value": 21.0,
"r_rank": 240,
"h_value": 49.0,
"h_rank": 204,
"avg_value": 0.2525773,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 30.0,
"rbi_rank": 159,
"tb_value": 91.0,
"tb_rank": 773,
"bb_value": 11.0,
"bb_rank": 302,
"so_value": 53.0,
"so_rank": 165,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3113207,
"obp_rank": "-",
"slg_value": 0.4690721,
"slg_rank": "-",
"ops_value": 0.7803928,
"ops_rank": null,
"war_value": 1.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 98.0,
"k_percent": 24.9,
"bb_percent": 5.2,
"woba": 0.336,
"xwoba": 0.31,
"xba": 0.232,
"xslg": 0.418,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 11.8,
"whiff_percent": 29.6,
"swing_percent": 53.5
},
"components": {
"expected_quality": 0.4142,
"regression_edge": -0.7429,
"xwoba_edge": 0.2286,
"xba_edge": -0.2,
"xslg_edge": 0.65,
"barrel_edge": 0.8,
"hard_hit_edge": 1.0786,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "701538",
"player_name": "Jackson Merrill",
"offense_factor": 1.0266,
"quality_score": 0.354,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701538",
"espn_id": 4872691,
"player_name": "Jackson Merrill",
"team": "SD",
"role": "batter",
"espn_rank": 225,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 225,
"gp_value": 86.0,
"gp_rank": 50,
"ab_value": 332.0,
"ab_rank": 26,
"r_value": 38.0,
"r_rank": 109,
"h_value": 71.0,
"h_rank": 102,
"avg_value": 0.2138554,
"avg_rank": 148.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 34.0,
"rbi_rank": 126,
"tb_value": 118.0,
"tb_rank": 659,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 93.0,
"so_rank": 24,
"sb_value": 18.0,
"sb_rank": 12,
"obp_value": 0.2709497,
"obp_rank": "156",
"slg_value": 0.3554216,
"slg_rank": "135",
"ops_value": 0.6263713,
"ops_rank": 291.0,
"war_value": 0.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 25.8,
"bb_percent": 6.9,
"woba": 0.275,
"xwoba": 0.302,
"xba": 0.234,
"xslg": 0.411,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 13.2,
"whiff_percent": 27.7,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.3057,
"regression_edge": 0.7714,
"xwoba_edge": 0.0,
"xba_edge": -0.1429,
"xslg_edge": 0.55,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.15,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "669392",
"player_name": "Samad Taylor",
"offense_factor": 0.9942,
"quality_score": -0.0769,
"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": 227,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 227,
"gp_value": 24.0,
"gp_rank": 425,
"ab_value": 82.0,
"ab_rank": 385,
"r_value": 14.0,
"r_rank": 328,
"h_value": 27.0,
"h_rank": 321,
"avg_value": 0.3292682,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 459,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 11.0,
"rbi_rank": 339,
"tb_value": 33.0,
"tb_rank": 2142,
"bb_value": 12.0,
"bb_rank": 285,
"so_value": 27.0,
"so_rank": 335,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.4148936,
"obp_rank": "-",
"slg_value": 0.402439,
"slg_rank": "-",
"ops_value": 0.8173326,
"ops_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 28.1,
"bb_percent": 12.5,
"woba": 0.369,
"xwoba": 0.328,
"xba": 0.282,
"xslg": 0.349,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 22.8,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 7.3,
"whiff_percent": 22.9,
"swing_percent": 40.5
},
"components": {
"expected_quality": -0.0081,
"regression_edge": -1.1714,
"xwoba_edge": 0.7429,
"xba_edge": 1.2286,
"xslg_edge": -0.3357,
"barrel_edge": -0.7778,
"hard_hit_edge": -2.2071,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "823550",
"player_name": "Sung-Mun Song",
"offense_factor": 0.9762,
"quality_score": -0.3172,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "823550",
"espn_id": 5329585,
"player_name": "Sung-Mun Song",
"team": "SD",
"role": "batter",
"espn_rank": 308,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 308,
"gp_value": 36.0,
"gp_rank": 364,
"ab_value": 67.0,
"ab_rank": 417,
"r_value": 10.0,
"r_rank": 375,
"h_value": 16.0,
"h_rank": 394,
"avg_value": 0.2388059,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 377,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 9.0,
"rbi_rank": 369,
"tb_value": 22.0,
"tb_rank": 2393,
"bb_value": 10.0,
"bb_rank": 317,
"so_value": 14.0,
"so_rank": 447,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.3376623,
"obp_rank": "-",
"slg_value": 0.3283582,
"slg_rank": "-",
"ops_value": 0.6660205,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 24.0,
"k_percent": 18.2,
"bb_percent": 13.0,
"woba": 0.305,
"xwoba": 0.278,
"xba": 0.195,
"xslg": 0.307,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 24.5,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 17.0,
"whiff_percent": 23.3,
"swing_percent": 44.4
},
"components": {
"expected_quality": -0.6942,
"regression_edge": -0.7714,
"xwoba_edge": -0.6857,
"xba_edge": -1.2571,
"xslg_edge": -0.9357,
"barrel_edge": 0.1111,
"hard_hit_edge": -1.9643,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "660710",
"player_name": "Rodolfo Durán",
"offense_factor": 0.9762,
"quality_score": -0.3168,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660710",
"espn_id": 40577,
"player_name": "Rodolfo Duran",
"team": "SD",
"role": "batter",
"espn_rank": 357,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 357,
"gp_value": 32.0,
"gp_rank": 379,
"ab_value": 73.0,
"ab_rank": 406,
"r_value": 8.0,
"r_rank": 401,
"h_value": 10.0,
"h_rank": 440,
"avg_value": 0.1369863,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 340,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 8.0,
"rbi_rank": 384,
"tb_value": 23.0,
"tb_rank": 2087,
"bb_value": 7.0,
"bb_rank": 373,
"so_value": 20.0,
"so_rank": 400,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2222222,
"obp_rank": "-",
"slg_value": 0.3150684,
"slg_rank": "-",
"ops_value": 0.5372906,
"ops_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 23.0,
"k_percent": 24.4,
"bb_percent": 8.5,
"woba": 0.24,
"xwoba": 0.26,
"xba": 0.172,
"xslg": 0.327,
"sweet_spot_percent": 20.4,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 29.6,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 14.4,
"whiff_percent": 24.6,
"swing_percent": 43.3
},
"components": {
"expected_quality": -0.9117,
"regression_edge": 0.5714,
"xwoba_edge": -1.2,
"xba_edge": -1.9143,
"xslg_edge": -0.65,
"barrel_edge": 0.5111,
"hard_hit_edge": -1.2357,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -2.15,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0196,
"raw_average_factor": 1.0221,
"team_espn_average_rank": 209.75,
"coverage_weight": 0.8889,
"covered_batters": 8,
"missing_batters": 1,
"players": [
{
"position": "DH",
"player_id": "656976",
"player_name": "Pavin Smith",
"offense_factor": 0.9742,
"quality_score": -0.3443,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "656976",
"espn_id": 40767,
"player_name": "Pavin Smith",
"team": "ARI",
"role": "batter",
"espn_rank": 567,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 567,
"gp_value": 25.0,
"gp_rank": 419,
"ab_value": 70.0,
"ab_rank": 411,
"r_value": 5.0,
"r_rank": 443,
"h_value": 11.0,
"h_rank": 435,
"avg_value": 0.1571428,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 459,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 6.0,
"rbi_rank": 420,
"tb_value": 15.0,
"tb_rank": 2516,
"bb_value": 10.0,
"bb_rank": 317,
"so_value": 15.0,
"so_rank": 438,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.2592592,
"obp_rank": "-",
"slg_value": 0.2142857,
"slg_rank": "-",
"ops_value": 0.4735449,
"ops_rank": null,
"war_value": -0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 8.0,
"k_percent": 18.5,
"bb_percent": 12.3,
"woba": 0.226,
"xwoba": 0.264,
"xba": 0.191,
"xslg": 0.257,
"sweet_spot_percent": 23.2,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 32.1,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 14.1,
"whiff_percent": 15.5,
"swing_percent": 43.7
},
"components": {
"expected_quality": -1.0663,
"regression_edge": 1.0857,
"xwoba_edge": -1.0857,
"xba_edge": -1.3714,
"xslg_edge": -1.65,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.8786,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -1.6833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_606466",
"player_id": "606466",
"player_name": "Ketel Marte",
"offense_factor": 1.1146,
"quality_score": 1.5275,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "606466",
"espn_id": 32512,
"player_name": "Ketel Marte",
"team": "ARI",
"role": "batter",
"espn_rank": 65,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 65,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 341.0,
"ab_rank": 16,
"r_value": 49.0,
"r_rank": 43,
"h_value": 91.0,
"h_rank": 28,
"avg_value": 0.2668621,
"avg_rank": 54.0,
"2b_value": 18.0,
"2b_rank": 29,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 17.0,
"hr_rank": 30,
"rbi_value": 54.0,
"rbi_rank": 25,
"tb_value": 164.0,
"tb_rank": 201,
"bb_value": 28.0,
"bb_rank": 110,
"so_value": 49.0,
"so_rank": 193,
"sb_value": 4.0,
"sb_rank": 146,
"obp_value": 0.3235294,
"obp_rank": "89",
"slg_value": 0.4809384,
"slg_rank": "35",
"ops_value": 0.8044678,
"ops_rank": 124.0,
"war_value": 2.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 13.1,
"bb_percent": 7.5,
"woba": 0.346,
"xwoba": 0.378,
"xba": 0.304,
"xslg": 0.518,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 11.7,
"whiff_percent": 20.2,
"swing_percent": 48.5
},
"components": {
"expected_quality": 1.6273,
"regression_edge": 0.9143,
"xwoba_edge": 2.1714,
"xba_edge": 1.8571,
"xslg_edge": 2.0786,
"barrel_edge": 0.9556,
"hard_hit_edge": 1.1214,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_694371",
"player_id": "694371",
"player_name": "Tommy Troy",
"offense_factor": 1.0044,
"quality_score": 0.0583,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694371",
"espn_id": 4837403,
"player_name": "Tommy Troy",
"team": "ARI",
"role": "batter",
"espn_rank": 305,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 305,
"gp_value": 35.0,
"gp_rank": 368,
"ab_value": 109.0,
"ab_rank": 344,
"r_value": 20.0,
"r_rank": 251,
"h_value": 24.0,
"h_rank": 342,
"avg_value": 0.2201834,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 377,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 7.0,
"rbi_rank": 399,
"tb_value": 38.0,
"tb_rank": 1766,
"bb_value": 11.0,
"bb_rank": 302,
"so_value": 28.0,
"so_rank": 327,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.2916666,
"obp_rank": "-",
"slg_value": 0.3486238,
"slg_rank": "-",
"ops_value": 0.6402904,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 14.0,
"k_percent": 23.3,
"bb_percent": 9.2,
"woba": 0.286,
"xwoba": 0.31,
"xba": 0.236,
"xslg": 0.401,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 30.9,
"exit_velocity_avg": 84.9,
"launch_angle_avg": 11.5,
"whiff_percent": 25.5,
"swing_percent": 44.6
},
"components": {
"expected_quality": 0.0389,
"regression_edge": 0.6857,
"xwoba_edge": 0.2286,
"xba_edge": -0.0857,
"xslg_edge": 0.4071,
"barrel_edge": 0.6444,
"hard_hit_edge": -1.05,
"exit_velocity_edge": -1.56,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_672695",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"offense_factor": 1.0071,
"quality_score": 0.095,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672695",
"espn_id": 41355,
"player_name": "Geraldo Perdomo",
"team": "ARI",
"role": "batter",
"espn_rank": 48,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 48,
"gp_value": 86.0,
"gp_rank": 50,
"ab_value": 301.0,
"ab_rank": 92,
"r_value": 39.0,
"r_rank": 103,
"h_value": 73.0,
"h_rank": 93,
"avg_value": 0.2425249,
"avg_rank": 106.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 31.0,
"rbi_rank": 148,
"tb_value": 107.0,
"tb_rank": 873,
"bb_value": 52.0,
"bb_rank": 13,
"so_value": 46.0,
"so_rank": 210,
"sb_value": 13.0,
"sb_rank": 28,
"obp_value": 0.3527777,
"obp_rank": "43",
"slg_value": 0.3554817,
"slg_rank": "135",
"ops_value": 0.7082594,
"ops_rank": 92.0,
"war_value": 2.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 12.6,
"bb_percent": 14.3,
"woba": 0.321,
"xwoba": 0.328,
"xba": 0.254,
"xslg": 0.341,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 30.4,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 13.4,
"whiff_percent": 12.5,
"swing_percent": 39.4
},
"components": {
"expected_quality": 0.0826,
"regression_edge": 0.2,
"xwoba_edge": 0.7429,
"xba_edge": 0.4286,
"xslg_edge": -0.45,
"barrel_edge": -0.8667,
"hard_hit_edge": -1.1214,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_672515",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"offense_factor": 1.0419,
"quality_score": 0.5586,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672515",
"espn_id": 42464,
"player_name": "Gabriel Moreno",
"team": "ARI",
"role": "batter",
"espn_rank": 51,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 51,
"gp_value": 62.0,
"gp_rank": 221,
"ab_value": 209.0,
"ab_rank": 195,
"r_value": 30.0,
"r_rank": 171,
"h_value": 59.0,
"h_rank": 153,
"avg_value": 0.2822966,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 29.0,
"rbi_rank": 166,
"tb_value": 89.0,
"tb_rank": 1305,
"bb_value": 28.0,
"bb_rank": 110,
"so_value": 39.0,
"so_rank": 250,
"sb_value": 4.0,
"sb_rank": 146,
"obp_value": 0.3688524,
"obp_rank": "-",
"slg_value": 0.4258373,
"slg_rank": "-",
"ops_value": 0.7946897,
"ops_rank": null,
"war_value": 2.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 16.0,
"bb_percent": 11.5,
"woba": 0.351,
"xwoba": 0.365,
"xba": 0.28,
"xslg": 0.444,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 11.0,
"whiff_percent": 17.0,
"swing_percent": 41.2
},
"components": {
"expected_quality": 1.1358,
"regression_edge": 0.4,
"xwoba_edge": 1.8,
"xba_edge": 1.1714,
"xslg_edge": 1.0214,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.9357,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_571448",
"player_id": "571448",
"player_name": "Nolan Arenado",
"offense_factor": 0.9824,
"quality_score": -0.2346,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571448",
"espn_id": 31261,
"player_name": "Nolan Arenado",
"team": "ARI",
"role": "batter",
"espn_rank": 146,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 146,
"gp_value": 83.0,
"gp_rank": 96,
"ab_value": 284.0,
"ab_rank": 109,
"r_value": 38.0,
"r_rank": 109,
"h_value": 68.0,
"h_rank": 114,
"avg_value": 0.2394366,
"avg_rank": 115.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 9.0,
"hr_rank": 118,
"rbi_value": 36.0,
"rbi_rank": 109,
"tb_value": 111.0,
"tb_rank": 967,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 66.0,
"so_rank": 108,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.3113207,
"obp_rank": "119",
"slg_value": 0.390845,
"slg_rank": "110",
"ops_value": 0.7021657,
"ops_rank": 229.0,
"war_value": 1.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 20.8,
"bb_percent": 7.9,
"woba": 0.309,
"xwoba": 0.296,
"xba": 0.237,
"xslg": 0.357,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 31.4,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 18.7,
"whiff_percent": 23.4,
"swing_percent": 46.3
},
"components": {
"expected_quality": -0.2521,
"regression_edge": -0.3714,
"xwoba_edge": -0.1714,
"xba_edge": -0.0571,
"xslg_edge": -0.2214,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.9786,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_682998",
"player_id": "682998",
"player_name": "Corbin Carroll",
"offense_factor": 1.0651,
"quality_score": 0.8679,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682998",
"espn_id": 42404,
"player_name": "Corbin Carroll",
"team": "ARI",
"role": "batter",
"espn_rank": 16,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 16,
"gp_value": 86.0,
"gp_rank": 50,
"ab_value": 320.0,
"ab_rank": 55,
"r_value": 50.0,
"r_rank": 40,
"h_value": 85.0,
"h_rank": 50,
"avg_value": 0.265625,
"avg_rank": 57.0,
"2b_value": 18.0,
"2b_rank": 29,
"3b_value": 10.0,
"3b_rank": 1,
"hr_value": 13.0,
"hr_rank": 64,
"rbi_value": 45.0,
"rbi_rank": 57,
"tb_value": 162.0,
"tb_rank": 269,
"bb_value": 42.0,
"bb_rank": 34,
"so_value": 82.0,
"so_rank": 54,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.3559782,
"obp_rank": "42",
"slg_value": 0.50625,
"slg_rank": "21",
"ops_value": 0.8622282,
"ops_rank": 63.0,
"war_value": 3.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 22.3,
"bb_percent": 11.4,
"woba": 0.37,
"xwoba": 0.353,
"xba": 0.26,
"xslg": 0.459,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 14.4,
"whiff_percent": 28.9,
"swing_percent": 46.4
},
"components": {
"expected_quality": 1.0928,
"regression_edge": -0.4857,
"xwoba_edge": 1.4571,
"xba_edge": 0.6,
"xslg_edge": 1.2357,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.2929,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": -0.4833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_666971",
"player_id": "666971",
"player_name": "Lourdes Gurriel Jr.",
"offense_factor": 0.9871,
"quality_score": -0.1714,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666971",
"espn_id": 36040,
"player_name": "Lourdes Gurriel Jr.",
"team": "ARI",
"role": "batter",
"espn_rank": 480,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 480,
"gp_value": 40.0,
"gp_rank": 339,
"ab_value": 148.0,
"ab_rank": 283,
"r_value": 10.0,
"r_rank": 375,
"h_value": 32.0,
"h_rank": 289,
"avg_value": 0.2162162,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 2.0,
"hr_rank": 341,
"rbi_value": 19.0,
"rbi_rank": 255,
"tb_value": 46.0,
"tb_rank": 1976,
"bb_value": 10.0,
"bb_rank": 317,
"so_value": 28.0,
"so_rank": 327,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.2716049,
"obp_rank": "-",
"slg_value": 0.3108108,
"slg_rank": "-",
"ops_value": 0.5824157,
"ops_rank": null,
"war_value": -0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 98.0,
"k_percent": 17.3,
"bb_percent": 6.2,
"woba": 0.261,
"xwoba": 0.281,
"xba": 0.232,
"xslg": 0.32,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 32.8,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 14.5,
"whiff_percent": 24.2,
"swing_percent": 51.8
},
"components": {
"expected_quality": -0.536,
"regression_edge": 0.5714,
"xwoba_edge": -0.6,
"xba_edge": -0.2,
"xslg_edge": -0.75,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.7786,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away ARI | True | 4 | -0.5028 | 1 | 1.0427 | 0.9343 | 0.9960 | 1.0526 | negative_pitcher_regression | 0.3430 | 0.2870 | 16.90 | 8.70 | 19.70 | 9.20 | 37.20 | |
| Home SD | True | 172 | -0.2653 | 0.8800 | 1.0225 | 0.9708 | 0.9930 | 1.0483 | neutral | 0.3260 | 0.3210 | 21.70 | 8.50 | 20.60 | 8.70 | 41.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away ARI | True | None | 96 | 88.23 | 2171 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0864 | |
| Home SD | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0198 |
| home_runs_vs_away_pitcher | 1.0427 |
| home_pitcher_quality_edge | 0.2375 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "621111",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 220.0,
"k_percent": 21.7,
"bb_percent": 8.5,
"woba": 0.321,
"xwoba": 0.326,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 41.7,
"avg_best_speed": 80.559,
"avg_hyper_speed": 94.4464,
"whiff_percent": 20.6,
"swing_percent": 44.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.3815,
"command_and_miss": -0.2829,
"regression_edge": -0.1429,
"xwoba_edge": -0.3714,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.4714,
"whiff_edge": -0.7,
"bb_edge": 0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621111",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2653,
"sample_weight": 0.88,
"run_prevention_factor": 1.0225,
"strikeout_factor": 0.9708,
"walk_factor": 0.993,
"homer_factor": 1.0483,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621111",
"espn_id": 39251,
"player_name": "Walker Buehler",
"team": "SD",
"role": "pitcher",
"espn_rank": 172,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 172,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 17.0,
"gs_rank": 36,
"qs_value": 3.0,
"qs_rank": 103,
"era_value": 4.6097,
"era_rank": null,
"w_value": 5.0,
"w_rank": 63,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 82.0,
"ip_rank": 87,
"h_value": 83.0,
"h_rank": 55,
"er_value": 42.0,
"er_rank": 52,
"hr_value": 9.0,
"hr_rank": 91,
"bb_value": 30.0,
"bb_rank": 60,
"k_value": 76.0,
"k_rank": 69,
"k_per_9_value": 8.341464,
"k_per_9_rank": 21.0,
"whip_value": 1.378,
"whip_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "593958",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 272.0,
"k_percent": 16.9,
"bb_percent": 8.7,
"woba": 0.287,
"xwoba": 0.343,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 37.2,
"avg_best_speed": 77.6009,
"avg_hyper_speed": 93.846,
"whiff_percent": 19.7,
"swing_percent": 45.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.2996,
"command_and_miss": -0.6464,
"regression_edge": -1.6,
"xwoba_edge": -0.8571,
"barrel_edge": -0.4222,
"hard_hit_edge": 0.1714,
"whiff_edge": -0.8286,
"bb_edge": 0.05,
"pitch_design_score": -0.0864
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "593958",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 88.22876120460852,
"release_spin_rate": 2171.3414857244065,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 88.22876120460852,
"release_spin_rate": 2171.3414857244065,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2288,
"release_spin_rate": 2171.3415,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0864,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6171,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.5028,
"sample_weight": 1.0,
"run_prevention_factor": 1.0427,
"strikeout_factor": 0.9343,
"walk_factor": 0.996,
"homer_factor": 1.0526,
"woba_minus_xwoba": -0.056,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "593958",
"espn_id": 32675,
"player_name": "Eduardo Rodriguez",
"team": "ARI",
"role": "pitcher",
"espn_rank": 4,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 4,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 11.0,
"qs_rank": 6,
"era_value": 2.25,
"era_rank": 4.0,
"w_value": 7.0,
"w_rank": 26,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 108.0,
"ip_rank": 5,
"h_value": 87.0,
"h_rank": 44,
"er_value": 27.0,
"er_rank": 134,
"hr_value": 10.0,
"hr_rank": 71,
"bb_value": 38.0,
"bb_rank": 14,
"k_value": 74.0,
"k_rank": 75,
"k_per_9_value": 6.1666665,
"k_per_9_rank": 405.0,
"whip_value": 1.1574,
"whip_rank": 27.0,
"war_value": 3.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0198,
"home_runs_vs_away_pitcher": 1.0427,
"home_pitcher_quality_edge": 0.2375
},
"score_before": {
"away_runs": 7.1214,
"home_runs": 0.2527
},
"score_after": {
"away_runs": 7.2624,
"home_runs": 0.2635,
"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 ARI | 9-1 | 0.900 | 3.70 | 0.60 | 31 | average | strong | |
| Home SD | 2-8 | 0.200 | 3.50 | 7.30 | -38 | average | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away ARI | 44-45 | 0.494 | -29 | -0.326 | True |
| Home SD | 44-45 | 0.494 | -42 | -0.472 | True |
| Signal | - | - | -0.146 | -0.146 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target ARI | - | - | 5 | - | - | - | - |
| Game target SD | - | - | 2 | - | - | - | - |
| Player finalized ARI | 32 | 9 | 4 | 0 | 3 | 1 | 9 |
| Player finalized SD | 30 | 9 | 2 | 0 | 1 | 1 | 9 |
| Player model fractional ARI | 32.09 | 7.97 | 4.15 | 1.05 | 4.31 | 3.44 | 6.49 |
| Player model fractional SD | 30.83 | 6.84 | 3.70 | 1.05 | 3.51 | 3.22 | 8.04 |
| Simulation box ARI | 37 | 10 | 6 | 1 | 6 | 3 | 4 |
| Simulation box SD | 32 | 5 | 2 | 2 | 2 | 2 | 12 |
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 ARI | Starter | Eduardo Rodriguez | 6.20 | 1 | 8 | 5 | 2 | 3.06 | 1.28 | True |
| Away ARI | Middle Reliever | Jonathan Loáisiga | 1 | 0 | 1 | 0 | 0 | 4.15 | 1.25 | True |
| Away ARI | Middle Reliever | Kevin Ginkel | 0.10 | 1 | 1 | 0 | 0 | 4.71 | 1.35 | True |
| Away ARI | Middle Reliever | Paul Sewald | 1 | 0 | 2 | 0 | 0 | 4.48 | 1.31 | True |
| Home SD | Starter | Walker Buehler | 5 | 5 | 3 | 7 | 1 | 4.50 | 1.42 | True |
| Home SD | Middle Reliever | Kyle Hart | 1.10 | 0 | 0 | 1 | 1 | 5.64 | 1.27 | True |
| Home SD | Middle Reliever | Adrian Morejon | 1 | 0 | 0 | 1 | 0 | 3.28 | 1.42 | True |
| Home SD | Middle Reliever | Mason Miller | 1 | 0 | 0 | 0 | 0 | 2.56 | 1.00 | True |
| Home SD | Middle Reliever | Bradgley Rodriguez | 0.20 | 0 | 1 | 0 | 0 | 3.49 | 1.40 | True |
| Home SD | Middle Reliever | Yuki Matsui | 0 | 1 | 0 | 1 | 1 | 3.88 | 1.55 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | ARI | batter | 1B | Tommy Troy | better | 9 | 8 | 1 | 7 | 2 | predicted_RBI | 2.6200 | boost | better |
| away | ARI | batter | DH | Pavin Smith | better | 9 | 5 | 4 | 6 | 3 | predicted_AB | 2.2800 | boost | better |
| away | ARI | pitcher | Starter | Eduardo Rodriguez | neutral | 2 | 1 | 1 | 1 | 1 | predicted_IP | -1.8000 | deboost | worse |
| away | ARI | batter | C | Ketel Marte | better | 11 | 6 | 5 | 7 | 4 | predicted_2B | 1.7810 | boost | better |
| away | ARI | batter | LF | Nolan Arenado | worse | 9 | 4 | 5 | 3 | 6 | predicted_H | 1.1800 | boost | better |
| home | SD | batter | RF | Fernando Tatis Jr. | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 1.0920 | boost | worse |
| home | SD | batter | 3B | Manny Machado | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.0570 | boost | worse |
| away | ARI | pitcher | Middle Reliever | Kevin Ginkel | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | SD | pitcher | Starter | Walker Buehler | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | SD | pitcher | Middle Reliever | Yuki Matsui | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | SD | batter | LF | Samad Taylor | boosted | 10 | 6 | 4 | 5 | 5 | predicted_HR | 0.9700 | boost | better |
| away | ARI | batter | SS | Gabriel Moreno | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -0.9500 | deboost | worse |
| away | ARI | pitcher | Middle Reliever | Jonathan Loáisiga | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | ARI | pitcher | Middle Reliever | Paul Sewald | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | ARI | batter | 2B | Geraldo Perdomo | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -0.8900 | deboost | worse |
| away | ARI | batter | CF | Corbin Carroll | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_SO | -0.8800 | deboost | better |
| home | SD | batter | CF | Jackson Merrill | worse | 11 | 3 | 8 | 4 | 7 | predicted_2B | 0.8240 | boost | better |
| home | SD | batter | 2B | Jake Cronenworth | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.8100 | deboost | worse |
| home | SD | batter | DH | Ty France | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.7670 | boost | better |
| home | SD | batter | 1B | Gavin Sheets | worse | 9 | 3 | 6 | 2 | 7 | predicted_AB | 0.6800 | boost | better |
| away | ARI | batter | 3B | Max Kepler | boosted | 8 | 5 | 3 | 4 | 4 | predicted_AB | 0.6620 | boost | better |
| home | SD | batter | SS | Sung-Mun Song | worse | 11 | 2 | 9 | 1 | 10 | predicted_BB | 0.6270 | boost | better |
| home | SD | batter | C | Rodolfo Durán | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.4900 | deboost | worse |
| home | SD | pitcher | Middle Reliever | Bradgley Rodriguez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | ARI | batter | RF | Lourdes Gurriel Jr. | worse | 11 | 3 | 8 | 2 | 9 | predicted_RBI | -0.4000 | deboost | worse |
| home | SD | pitcher | Middle Reliever | Kyle Hart | 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 | Eduardo Rodriguez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5028 |
| ESPN Rank | 4 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0864 |
| Avg Velo | 88.2288 |
| Avg Spin | 2171.3415 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.2000 |
| Pre ER | 1 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 8 |
| Season ERA | 2.4453 |
| Season WHIP | 1.2340 |
| Role Avg IP | 5.8890 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"opponent": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"edges": {
"quality_edge": 0.0815,
"offense_edge": -0.037,
"opponent_offense_edge": -0.1211,
"defense_strength": -0.0106,
"opponent_defense_weakness": -0.0052,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0078,
"run_prevention": 0.9776,
"strikeout": 1.0121
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "593958",
"profile": {
"available": true,
"pitcher_id": "593958",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 272.0,
"k_percent": 16.9,
"bb_percent": 8.7,
"woba": 0.287,
"xwoba": 0.343,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 37.2,
"avg_best_speed": 77.6009,
"avg_hyper_speed": 93.846,
"whiff_percent": 19.7,
"swing_percent": 45.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.2996,
"command_and_miss": -0.6464,
"regression_edge": -1.6,
"xwoba_edge": -0.8571,
"barrel_edge": -0.4222,
"hard_hit_edge": 0.1714,
"whiff_edge": -0.8286,
"bb_edge": 0.05,
"pitch_design_score": -0.0864
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "593958",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 88.22876120460852,
"release_spin_rate": 2171.3414857244065,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 88.22876120460852,
"release_spin_rate": 2171.3414857244065,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2288,
"release_spin_rate": 2171.3415,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0864,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6171,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.5028,
"sample_weight": 1.0,
"run_prevention_factor": 1.0427,
"strikeout_factor": 0.9343,
"walk_factor": 0.996,
"homer_factor": 1.0526,
"woba_minus_xwoba": -0.056,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "593958",
"espn_id": 32675,
"player_name": "Eduardo Rodriguez",
"team": "ARI",
"role": "pitcher",
"espn_rank": 4,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 4,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 11.0,
"qs_rank": 6,
"era_value": 2.25,
"era_rank": 4.0,
"w_value": 7.0,
"w_rank": 26,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 108.0,
"ip_rank": 5,
"h_value": 87.0,
"h_rank": 44,
"er_value": 27.0,
"er_rank": 134,
"hr_value": 10.0,
"hr_rank": 71,
"bb_value": 38.0,
"bb_rank": 14,
"k_value": 74.0,
"k_rank": 75,
"k_per_9_value": 6.1666665,
"k_per_9_rank": 405.0,
"whip_value": 1.1574,
"whip_rank": 27.0,
"war_value": 3.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0427,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0427,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.996,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0526,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9343,
"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": 60.1,
"ER": 15,
"H": 49,
"BB": 23,
"SO": 47,
"HR": 5,
"ERA": 2.2375690607734806,
"WHIP": 1.1933701657458564,
"K9": 7.011049723756906,
"HR9": 0.7458563535911602,
"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-17T00:00:00"
}{
"available": true,
"pitcher_id": "593958",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 88.22876120460852,
"release_spin_rate": 2171.3414857244065,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 88.22876120460852,
"release_spin_rate": 2171.3414857244065,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2288,
"release_spin_rate": 2171.3415,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0864,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6171,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "593958",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 8.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 9.0,
"R": 10.0,
"H": 25.0,
"BB": 12.0,
"SO": 22.0,
"HR": 5.0,
"BF": 116.0,
"Pitches": 467.0
},
"per_game": {
"IP": 5.2,
"ER": 1.8,
"R": 2.0,
"H": 5.0,
"BB": 2.4,
"SO": 4.4,
"HR": 1.0,
"BF": 23.2,
"Pitches": 93.4
},
"rates": {
"ERA": 2.8929,
"WHIP": 1.3214,
"ER_per_IP": 0.32143,
"H_per_IP": 0.89286,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.78571,
"HR_per_IP": 0.17857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 60.1,
"ER": 15.0,
"R": 16.0,
"H": 49.0,
"BB": 23.0,
"SO": 47.0,
"HR": 5.0,
"BF": 243.0,
"Pitches": 947.0
},
"per_game": {
"IP": 6.0,
"ER": 1.5,
"R": 1.6,
"H": 4.9,
"BB": 2.3,
"SO": 4.7,
"HR": 0.5,
"BF": 24.3,
"Pitches": 94.7
},
"rates": {
"ERA": 2.2376,
"WHIP": 1.1934,
"ER_per_IP": 0.24862,
"H_per_IP": 0.81215,
"BB_per_IP": 0.38122,
"SO_per_IP": 0.77901,
"HR_per_IP": 0.08287
}
},
"season": {
"games": 15,
"totals": {
"IP": 88.1,
"ER": 24.0,
"R": 26.0,
"H": 74.0,
"BB": 35.0,
"SO": 65.0,
"HR": 9.0,
"BF": 363.0,
"Pitches": 1412.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6,
"R": 1.7333,
"H": 4.9333,
"BB": 2.3333,
"SO": 4.3333,
"HR": 0.6,
"BF": 24.2,
"Pitches": 94.1333
},
"rates": {
"ERA": 2.4453,
"WHIP": 1.234,
"ER_per_IP": 0.2717,
"H_per_IP": 0.83774,
"BB_per_IP": 0.39623,
"SO_per_IP": 0.73585,
"HR_per_IP": 0.10189
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.175,
"predicted_H": 5.638,
"predicted_BB": 2.513,
"predicted_SO": 5.229,
"predicted_HR": 0.86,
"predicted_ERA": 3.0647,
"predicted_WHIP": 1.2761
}
}{
"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": 8.0,
"form": 6.1,
"final": 7.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.175,
"final": 1.6396,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.638,
"final": 5.3473,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.513,
"final": 2.2793,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 5.229,
"final": 6.0359,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.86,
"final": 1.3794,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0647,
"final": 3.0647,
"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."
}| Field | Value |
|---|---|
| Pitcher | Jonathan Loáisiga |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1906 |
| ESPN Rank | 137 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1708 |
| Avg Velo | 92.8214 |
| Avg Spin | 2270.1429 |
| 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 | 0 |
| Season WHIP | 0.4286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"opponent": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"edges": {
"quality_edge": 0.0815,
"offense_edge": -0.037,
"opponent_offense_edge": -0.1211,
"defense_strength": -0.0106,
"opponent_defense_weakness": -0.0052,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0078,
"run_prevention": 0.9776,
"strikeout": 1.0121
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642528",
"profile": {
"available": true,
"pitcher_id": "642528",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 4.0,
"k_percent": 16.3,
"bb_percent": 5.2,
"woba": 0.255,
"xwoba": 0.28,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 32.4,
"avg_best_speed": 73.9844,
"avg_hyper_speed": 93.1863,
"whiff_percent": 22.1,
"swing_percent": 53.0
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.0405,
"command_and_miss": -0.39,
"regression_edge": -0.7143,
"xwoba_edge": 0.9429,
"barrel_edge": 0.7778,
"hard_hit_edge": 0.8571,
"whiff_edge": -0.4857,
"bb_edge": 0.925,
"pitch_design_score": 0.1708
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.8214,
"release_spin_rate": 2270.1429,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1708,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2199,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1906,
"sample_weight": 0.45,
"run_prevention_factor": 0.9838,
"strikeout_factor": 0.9751,
"walk_factor": 0.9667,
"homer_factor": 0.9438,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642528",
"espn_id": 39807,
"player_name": "Jonathan Loaisiga",
"team": "ARI",
"role": "pitcher",
"espn_rank": 137,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 137,
"gp_value": 37.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.3592,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 6.0,
"hld_rank": 89,
"ip_value": 34.1,
"ip_rank": 278,
"h_value": 29.0,
"h_rank": 284,
"er_value": 9.0,
"er_rank": 419,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 7.0,
"bb_rank": 442,
"k_value": 22.0,
"k_rank": 376,
"k_per_9_value": 5.76699,
"k_per_9_rank": 36.0,
"whip_value": 1.0485,
"whip_rank": null,
"war_value": 0.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.985,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9747,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9888,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 2.1,
"ER": 0,
"H": 1,
"BB": 0,
"SO": 2,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.4285714285714286,
"K9": 7.714285714285715,
"HR9": 0.0,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.8214,
"release_spin_rate": 2270.1429,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1708,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2199,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.463,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0847,
"prior_weight": 0.9153
},
"role": "pitcher",
"player_id": "642528",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"season": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.193,
"predicted_H": 0.386,
"predicted_BB": 0.137,
"predicted_SO": 0.395,
"predicted_HR": 0.057,
"predicted_ERA": 4.1523,
"predicted_WHIP": 1.2509
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7367,
"form_weight": 0.2633,
"form_reliability": 0.0847,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.463,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0847,
"prior_weight": 0.9153
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.193,
"final": 0.0508,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.386,
"final": 0.1016,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.137,
"final": 0.0361,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.395,
"final": 0.8407,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.057,
"final": 0.015,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1523,
"final": 4.1523,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2509,
"final": 1.2509,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kevin Ginkel |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0106 |
| ESPN Rank | 186 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 9 |
| Season WHIP | 2 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"opponent": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"edges": {
"quality_edge": 0.0815,
"offense_edge": -0.037,
"opponent_offense_edge": -0.1211,
"defense_strength": -0.0106,
"opponent_defense_weakness": -0.0052,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0078,
"run_prevention": 0.9776,
"strikeout": 1.0121
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656464",
"profile": {
"available": true,
"pitcher_id": "656464",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.8,
"bb_percent": 8.9,
"woba": 0.309,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.9,
"swing_percent": 47.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.042,
"command_and_miss": 0.0329,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"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": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0106,
"sample_weight": 0.45,
"run_prevention_factor": 0.9991,
"strikeout_factor": 1.0015,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656464",
"espn_id": 41432,
"player_name": "Kevin Ginkel",
"team": "ARI",
"role": "pitcher",
"espn_rank": 186,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 186,
"gp_value": 37.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.1456,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 6.0,
"hld_rank": 89,
"ip_value": 34.1,
"ip_rank": 278,
"h_value": 31.0,
"h_rank": 258,
"er_value": 12.0,
"er_rank": 336,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 38.0,
"k_rank": 227,
"k_per_9_value": 9.961165,
"k_per_9_rank": 22.0,
"whip_value": 1.2233,
"whip_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9996,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0007,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 1.0,
"ER": 1,
"H": 2,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 9.0,
"WHIP": 2.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-27T00:00:00"
}{
"available": false,
"pitcher_id": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.198,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0381,
"prior_weight": 0.9619
},
"role": "pitcher",
"player_id": "656464",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.188,
"predicted_H": 0.362,
"predicted_BB": 0.123,
"predicted_SO": 0.329,
"predicted_HR": 0.051,
"predicted_ERA": 4.7066,
"predicted_WHIP": 1.3526
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7564,
"form_weight": 0.2436,
"form_reliability": 0.0381,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.198,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0381,
"prior_weight": 0.9619
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.188,
"final": 0.8022,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.362,
"final": 0.0882,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.123,
"final": 0.03,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.329,
"final": 1.5929,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.051,
"final": 0.0124,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7066,
"final": 4.7066,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3526,
"final": 1.3526,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Paul Sewald |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0106 |
| ESPN Rank | 482 |
| 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 | 0 |
| Season WHIP | 0 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"opponent": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"edges": {
"quality_edge": 0.0815,
"offense_edge": -0.037,
"opponent_offense_edge": -0.1211,
"defense_strength": -0.0106,
"opponent_defense_weakness": -0.0052,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0078,
"run_prevention": 0.9776,
"strikeout": 1.0121
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623149",
"profile": {
"available": true,
"pitcher_id": "623149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.8,
"bb_percent": 8.9,
"woba": 0.309,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.9,
"swing_percent": 47.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.042,
"command_and_miss": 0.0329,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"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": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0106,
"sample_weight": 0.45,
"run_prevention_factor": 0.9991,
"strikeout_factor": 1.0015,
"walk_factor": 1.0,
"homer_factor": 0.9988,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623149",
"espn_id": 35009,
"player_name": "Paul Sewald",
"team": "ARI",
"role": "pitcher",
"espn_rank": 482,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 482,
"gp_value": 35.0,
"gp_rank": 73,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 4.5,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 20.0,
"sv_rank": 6,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 32.0,
"ip_rank": 304,
"h_value": 22.0,
"h_rank": 365,
"er_value": 16.0,
"er_rank": 252,
"hr_value": 7.0,
"hr_rank": 149,
"bb_value": 8.0,
"bb_rank": 417,
"k_value": 35.0,
"k_rank": 255,
"k_per_9_value": 9.84375,
"k_per_9_rank": 22.0,
"whip_value": 0.9375,
"whip_rank": null,
"war_value": -0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0007,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 0.1,
"ER": 0,
"H": 0,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": false,
"pitcher_id": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"role": "pitcher",
"player_id": "623149",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.166,
"predicted_H": 0.319,
"predicted_BB": 0.117,
"predicted_SO": 0.314,
"predicted_HR": 0.049,
"predicted_ERA": 4.4776,
"predicted_WHIP": 1.3097
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.767,
"form_weight": 0.233,
"form_reliability": 0.013,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.166,
"final": 0.0387,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.319,
"final": 0.0743,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.117,
"final": 0.0273,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.314,
"final": 1.6072,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.049,
"final": 0.0114,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4776,
"final": 4.4776,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3097,
"final": 1.3097,
"source": "form_only"
}
}
}{
"available": false,
"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.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.720 | 5.000 | 3.000 | Hitting_AB | 2.667 | 3.000 | 2.333 | 2.000 |
| predicted_AVG | 0.253 | 0.400 | 0.333 | Hitting_AVG | 0.172 | 0.000 | 0.228 | 0.400 |
| predicted_BB | 0.353 | 0.000 | 0.000 | Hitting_BB | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 2.000 | 1.000 | Hitting_H | 0.458 | 0.000 | 1.542 | 2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_OBP | 0.292 | 0.400 | 0.333 | Hitting_OBP | 0.308 | 0.000 | 0.092 | 0.400 |
| predicted_R | 0.235 | 1.000 | 0.000 | Hitting_R | 0.292 | 0.000 | 0.708 | 1.000 |
| predicted_RBI | 0.350 | 1.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_SLG | 0.355 | 0.400 | 0.333 | Hitting_SLG | 0.219 | 0.000 | 0.181 | 0.400 |
| predicted_SO | 0.706 | 0.000 | 1.000 | Hitting_SO | 0.750 | 0.000 | -0.750 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 2.7200 -> 5.0000 (boost 2.2800, better) |
| Biggest Deboost | predicted_SO: 0.7060 -> 0.0000 (deboost -0.7060, 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.7200 -> 2.9039 (boost 0.1839, better) | predicted_AVG: 0.2530 -> 0.2423 (deboost -0.0107, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2896 -> 0.3192 (boost 0.0296, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_H: 0.7025 -> 1.0000 (boost 0.2975, better) | predicted_RBI: 0.3601 -> 0.0000 (deboost -0.3601, worse) | AB rounded to 3 (raw=2.90), rates preserved: AVG=0.242 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.067) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2767 -> 0.0000 (deboost -0.2767, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2419 -> 0.3330 (boost 0.0911, better) | predicted_SLG: 0.3551 -> 0.3330 (deboost -0.0221, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3551 (boost 0.0221, better) | predicted_AVG: 0.3330 -> 0.2419 (deboost -0.0911, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656976",
"player_name": "Pavin Smith",
"position": "DH",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.72,
"predicted_AVG": 0.253,
"predicted_BB": 0.353,
"predicted_H": 0.69,
"predicted_HR": 0.1,
"predicted_OBP": 0.292,
"predicted_R": 0.235,
"predicted_RBI": 0.35,
"predicted_SLG": 0.355,
"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.0193,
"predicted_3B": 0.0017,
"predicted_AB": 2.9039,
"predicted_AVG": 0.2423,
"predicted_BB": 0.3292,
"predicted_H": 0.701,
"predicted_HBP": 0.01,
"predicted_HR": 0.1021,
"predicted_OBP": 0.2896,
"predicted_R": 0.2753,
"predicted_RBI": 0.3583,
"predicted_SLG": 0.3497,
"predicted_SO": 0.7218
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0193,
"delta": 0.0193,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.72,
"after": 2.9039,
"delta": 0.1839,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2423,
"delta": -0.0107,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.3292,
"delta": -0.0238,
"percent_delta": -0.0674,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.701,
"delta": 0.011,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1021,
"delta": 0.0021,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2896,
"delta": -0.0024,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.235,
"after": 0.2753,
"delta": 0.0403,
"percent_delta": 0.1715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3583,
"delta": 0.0083,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3497,
"delta": -0.0053,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.706,
"after": 0.7218,
"delta": 0.0158,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_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.72,
"after": 2.9039,
"delta": 0.1839,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2423,
"delta": -0.0107,
"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": 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.0193,
"predicted_3B": 0.0017,
"predicted_AB": 2.9039,
"predicted_AVG": 0.2419,
"predicted_BB": 0.3295,
"predicted_H": 0.7025,
"predicted_HBP": 0.01,
"predicted_HR": 0.102,
"predicted_OBP": 0.3192,
"predicted_R": 0.2767,
"predicted_RBI": 0.3601,
"predicted_SLG": 0.3551,
"predicted_SO": 0.7211
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0193,
"after": 0.0193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9039,
"after": 2.9039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.2419,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3292,
"after": 0.3295,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.701,
"after": 0.7025,
"delta": 0.0015,
"percent_delta": 0.0021,
"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.1021,
"after": 0.102,
"delta": -0.0001,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2896,
"after": 0.3192,
"delta": 0.0296,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2753,
"after": 0.2767,
"delta": 0.0014,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3583,
"after": 0.3601,
"delta": 0.0018,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3497,
"after": 0.3551,
"delta": 0.0054,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7218,
"after": 0.7211,
"delta": -0.0007,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2896,
"after": 0.3192,
"delta": 0.0296,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.90), rates preserved: AVG=0.242 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.0193,
"after": 0.0,
"delta": -0.0193,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9039,
"after": 3.0,
"delta": 0.0961,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3295,
"after": 0.0,
"delta": -0.3295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7025,
"after": 1.0,
"delta": 0.2975,
"percent_delta": 0.4235,
"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.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3601,
"after": 0.0,
"delta": -0.3601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7211,
"after": 1.0,
"delta": 0.2789,
"percent_delta": 0.3868,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7025,
"after": 1.0,
"delta": 0.2975,
"percent_delta": 0.4235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3601,
"after": 0.0,
"delta": -0.3601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.067)",
"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.8667,
"bvp": 0.1333
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2767,
"after": 0.0,
"delta": -0.2767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.2767,
"after": 0.0,
"delta": -0.2767,
"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.2419,
"after": 0.333,
"delta": 0.0911,
"percent_delta": 0.3766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3192,
"after": 0.333,
"delta": 0.0138,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3551,
"after": 0.333,
"delta": -0.0221,
"percent_delta": -0.0622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2419,
"after": 0.333,
"delta": 0.0911,
"percent_delta": 0.3766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3551,
"after": 0.333,
"delta": -0.0221,
"percent_delta": -0.0622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2419,
"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.3192,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3551,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2419,
"delta": -0.0911,
"percent_delta": -0.2736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3192,
"delta": -0.0138,
"percent_delta": -0.0415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3551,
"delta": 0.0221,
"percent_delta": 0.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3551,
"delta": 0.0221,
"percent_delta": 0.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2419,
"delta": -0.0911,
"percent_delta": -0.2736,
"direction": "deboost",
"projection_effect": "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.72,
"after": 5.0,
"delta": 2.28,
"percent_delta": 0.8382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2419,
"delta": -0.0111,
"percent_delta": -0.0439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"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.292,
"after": 0.3192,
"delta": 0.0272,
"percent_delta": 0.0932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3551,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.72,
"after": 5.0,
"delta": 2.28,
"percent_delta": 0.8382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.706,
"after": 0.0,
"delta": -0.706,
"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.720 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.235 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.355 | - |
| 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.019 | 0.019 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.904 | 0.184 |
| predicted_AVG | 0.242 | -0.011 |
| predicted_BB | 0.329 | -0.024 |
| predicted_H | 0.701 | 0.011 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.102 | 0.002 |
| predicted_OBP | 0.290 | -0.002 |
| predicted_R | 0.275 | 0.040 |
| predicted_RBI | 0.358 | 0.008 |
| predicted_SLG | 0.350 | -0.005 |
| predicted_SO | 0.722 | 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.019 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.904 | 0.000 |
| predicted_AVG | 0.242 | -0.000 |
| predicted_BB | 0.330 | 0.000 |
| predicted_H | 0.703 | 0.002 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.102 | -0.000 |
| predicted_OBP | 0.319 | 0.030 |
| predicted_R | 0.277 | 0.001 |
| predicted_RBI | 0.360 | 0.002 |
| predicted_SLG | 0.355 | 0.005 |
| predicted_SO | 0.721 | -0.001 |
AB rounded to 3 (raw=2.90), rates preserved: AVG=0.242 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 | - |
Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.067)
| 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.019 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.096 |
| predicted_AVG | 0.333 | 0.091 |
| predicted_BB | 0.000 | -0.330 |
| predicted_H | 1.000 | 0.297 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 0.000 | -0.277 |
| predicted_RBI | 0.000 | -0.360 |
| predicted_SLG | 0.333 | -0.022 |
| 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 | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 3.000 | 0.2941 | 0.2941 | 0.4706 | 0.2941 | 0.0588 | 0.1177 | 0.0000 | 0.1765 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 7.000 | 0.2188 | 0.2778 | 0.3125 | 0.2188 | 0.0312 | 0.0938 | 0.0938 | 0.2188 |
| season | 0.60 | 17 | - | 46.000 | 8.000 | 0.000 | 0.000 | 1.000 | 5.000 | 4.000 | 6.000 | 12.000 | 0.1739 | 0.2642 | 0.2391 | 0.1739 | 0.0217 | 0.1087 | 0.1304 | 0.2609 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0560 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2540 |
| predicted_AVG | 0.2218 |
| predicted_BB | 0.2840 |
| predicted_H | 0.7220 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.2849 |
| predicted_R | 0.3520 |
| predicted_RBI | 0.3740 |
| predicted_SLG | 0.3396 |
| predicted_SO | 0.7520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0560 | 0.0193 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.7200 | 3.2540 | 2.9039 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2218 | 0.2423 | model_form_blend |
| predicted_BB | 0.3530 | 0.2840 | 0.3292 | model_form_blend |
| predicted_H | 0.6900 | 0.7220 | 0.7010 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1000 | 0.1060 | 0.1021 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2849 | 0.2896 | model_form_blend |
| predicted_R | 0.2350 | 0.3520 | 0.2753 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3740 | 0.3583 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3396 | 0.3497 | model_form_blend |
| predicted_SO | 0.7060 | 0.7520 | 0.7218 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| 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 | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.174 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260622_ARI@STL |
| game_type | full |
| mlbID | 656976 |
| playerID | 656976 |
| playerName | Pavin Smith |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.226 |
| sl_xwoba | 0.264 |
| sl_xba | 0.191 |
| sl_xslg | 0.257 |
| sl_sweet_spot_percent | 23.2 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 32.1 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 15.5 |
| sl_swing_percent | 43.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.219 | 2.000 | 0.000 | Hitting_2B | 0.207 | 0.000 | 1.793 | 2.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 4.380 | 5.000 | 4.000 | Hitting_AB | 4.207 | 4.000 | 0.793 | 1.000 |
| predicted_AVG | 0.262 | 0.400 | 0.250 | Hitting_AVG | 0.275 | 0.500 | 0.125 | -0.100 |
| predicted_BB | 0.315 | 0.000 | 0.000 | Hitting_BB | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.150 | 2.000 | 1.000 | Hitting_H | 1.159 | 2.000 | 0.841 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_OBP | 0.347 | 0.400 | 0.250 | Hitting_OBP | 0.322 | 0.500 | 0.078 | -0.100 |
| predicted_R | 0.562 | 1.000 | 1.000 | Hitting_R | 0.638 | 0.000 | 0.362 | 1.000 |
| predicted_RBI | 0.680 | 1.000 | 1.000 | Hitting_RBI | 0.650 | 0.000 | 0.350 | 1.000 |
| predicted_SLG | 0.472 | 0.800 | 0.250 | Hitting_SLG | 0.467 | 0.500 | 0.333 | 0.300 |
| predicted_SO | 0.630 | 0.000 | 1.000 | Hitting_SO | 0.683 | 0.000 | -0.683 | 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_2B: 0.2190 -> 2.0000 (boost 1.7810, better) |
| Biggest Deboost | predicted_SO: 0.6300 -> 0.0000 (deboost -0.6300, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_AVG: 0.2620 -> 0.2791 (boost 0.0171, better) | predicted_AB: 4.3800 -> 4.1882 (deboost -0.1918, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3547 -> 0.3312 (deboost -0.0235, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.5758 -> 1.0000 (boost 0.4242, worse) | predicted_BB: 0.3276 -> 0.0000 (deboost -0.3276, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.267 HR/AB=0.036 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.296) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5366 -> 1.0000 (boost 0.4634, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4603 -> 0.2500 (deboost -0.2103, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4603 (boost 0.2103, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "C",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.219,
"predicted_3B": 0.027,
"predicted_AB": 4.38,
"predicted_AVG": 0.262,
"predicted_BB": 0.315,
"predicted_H": 1.15,
"predicted_HR": 0.16,
"predicted_OBP": 0.347,
"predicted_R": 0.562,
"predicted_RBI": 0.68,
"predicted_SLG": 0.472,
"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.2394,
"predicted_3B": 0.0223,
"predicted_AB": 4.1882,
"predicted_AVG": 0.2791,
"predicted_BB": 0.3273,
"predicted_H": 1.1657,
"predicted_HBP": 0.069,
"predicted_HR": 0.1587,
"predicted_OBP": 0.3547,
"predicted_R": 0.5339,
"predicted_RBI": 0.683,
"predicted_SLG": 0.4832,
"predicted_SO": 0.5764
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 0.2394,
"delta": 0.0204,
"percent_delta": 0.0932,
"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": 4.38,
"after": 4.1882,
"delta": -0.1918,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2791,
"delta": 0.0171,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.3273,
"delta": 0.0123,
"percent_delta": 0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.1657,
"delta": 0.0157,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1587,
"delta": -0.0013,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3547,
"delta": 0.0077,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 0.5339,
"delta": -0.0281,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.683,
"delta": 0.003,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4832,
"delta": 0.0112,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 0.5764,
"delta": -0.0536,
"percent_delta": -0.0851,
"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_AVG",
"before": 0.262,
"after": 0.2791,
"delta": 0.0171,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1882,
"delta": -0.1918,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2394,
"predicted_3B": 0.0223,
"predicted_AB": 4.1882,
"predicted_AVG": 0.2789,
"predicted_BB": 0.3276,
"predicted_H": 1.1681,
"predicted_HBP": 0.069,
"predicted_HR": 0.1586,
"predicted_OBP": 0.3312,
"predicted_R": 0.5366,
"predicted_RBI": 0.6864,
"predicted_SLG": 0.4603,
"predicted_SO": 0.5758
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2394,
"after": 0.2394,
"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": 4.1882,
"after": 4.1882,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2791,
"after": 0.2789,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3273,
"after": 0.3276,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1657,
"after": 1.1681,
"delta": 0.0024,
"percent_delta": 0.0021,
"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.1587,
"after": 0.1586,
"delta": -0.0001,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3547,
"after": 0.3312,
"delta": -0.0235,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5339,
"after": 0.5366,
"delta": 0.0027,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.683,
"after": 0.6864,
"delta": 0.0034,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4832,
"after": 0.4603,
"delta": -0.0229,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5764,
"after": 0.5758,
"delta": -0.0006,
"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_OBP",
"before": 0.3547,
"after": 0.3312,
"delta": -0.0235,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.267 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.2394,
"after": 0.0,
"delta": -0.2394,
"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": 4.1882,
"after": 4.0,
"delta": -0.1882,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3276,
"after": 0.0,
"delta": -0.3276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1681,
"after": 1.0,
"delta": -0.1681,
"percent_delta": -0.1439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1586,
"after": 0.0,
"delta": -0.1586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6864,
"after": 1.0,
"delta": 0.3136,
"percent_delta": 0.4569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5758,
"after": 1.0,
"delta": 0.4242,
"percent_delta": 0.7367,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5758,
"after": 1.0,
"delta": 0.4242,
"percent_delta": 0.7367,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3276,
"after": 0.0,
"delta": -0.3276,
"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.296)",
"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.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": 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.5366,
"after": 1.0,
"delta": 0.4634,
"percent_delta": 0.8636,
"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.5366,
"after": 1.0,
"delta": 0.4634,
"percent_delta": 0.8636,
"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.2789,
"after": 0.25,
"delta": -0.0289,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3312,
"after": 0.25,
"delta": -0.0812,
"percent_delta": -0.2452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4603,
"after": 0.25,
"delta": -0.2103,
"percent_delta": -0.4569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4603,
"after": 0.25,
"delta": -0.2103,
"percent_delta": -0.4569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2789,
"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.3312,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4603,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2789,
"delta": 0.0289,
"percent_delta": 0.1157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3312,
"delta": 0.0812,
"percent_delta": 0.3249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4603,
"delta": 0.2103,
"percent_delta": 0.8412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4603,
"delta": 0.2103,
"percent_delta": 0.8412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 2.0,
"delta": 1.781,
"percent_delta": 8.1324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 5.0,
"delta": 0.62,
"percent_delta": 0.1416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2789,
"delta": 0.0169,
"percent_delta": 0.0645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 2.0,
"delta": 0.85,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3312,
"delta": -0.0158,
"percent_delta": -0.0455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 1.0,
"delta": 0.438,
"percent_delta": 0.7794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4603,
"delta": -0.0117,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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_2B",
"before": 0.219,
"after": 2.0,
"delta": 1.781,
"percent_delta": 8.1324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"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.219 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.562 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.472 | - |
| 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.239 | 0.020 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 4.188 | -0.192 |
| predicted_AVG | 0.279 | 0.017 |
| predicted_BB | 0.327 | 0.012 |
| predicted_H | 1.166 | 0.016 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.159 | -0.001 |
| predicted_OBP | 0.355 | 0.008 |
| predicted_R | 0.534 | -0.028 |
| predicted_RBI | 0.683 | 0.003 |
| predicted_SLG | 0.483 | 0.011 |
| predicted_SO | 0.576 | -0.054 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 4.188 | 0.000 |
| predicted_AVG | 0.279 | -0.000 |
| predicted_BB | 0.328 | 0.000 |
| predicted_H | 1.168 | 0.002 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.159 | -0.000 |
| predicted_OBP | 0.331 | -0.024 |
| predicted_R | 0.537 | 0.003 |
| predicted_RBI | 0.686 | 0.003 |
| predicted_SLG | 0.460 | -0.023 |
| predicted_SO | 0.576 | -0.001 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.267 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 | - |
Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.296)
| 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.239 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | -0.188 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.328 |
| predicted_H | 1.000 | -0.168 |
| predicted_HR | 0.000 | -0.159 |
| predicted_OBP | 0.250 | -0.081 |
| predicted_R | 1.000 | 0.463 |
| predicted_RBI | 1.000 | 0.314 |
| predicted_SLG | 0.250 | -0.210 |
| predicted_SO | 1.000 | 0.424 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 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 | 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 | - | 18.000 | 7.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 2.000 | 1.000 | 0.3889 | 0.4762 | 0.6667 | 0.3889 | 0.0556 | 0.2778 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 39.000 | 14.000 | 3.000 | 0.000 | 1.000 | 6.000 | 4.000 | 4.000 | 3.000 | 0.3590 | 0.4318 | 0.5128 | 0.3590 | 0.0256 | 0.1538 | 0.1026 | 0.0769 |
| season | 0.60 | 73 | - | 297.000 | 78.000 | 16.000 | 2.000 | 12.000 | 46.000 | 41.000 | 23.000 | 46.000 | 0.2626 | 0.3148 | 0.4512 | 0.2626 | 0.0404 | 0.1549 | 0.0774 | 0.1549 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2670 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.9290 |
| predicted_AVG | 0.3021 |
| predicted_BB | 0.3440 |
| predicted_H | 1.1870 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3650 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.6870 |
| predicted_SLG | 0.4984 |
| predicted_SO | 0.5040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2190 | 0.2670 | 0.2394 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0223 | model_form_blend |
| predicted_AB | 4.3800 | 3.9290 | 4.1882 | model_form_blend |
| predicted_AVG | 0.2620 | 0.3021 | 0.2791 | model_form_blend |
| predicted_BB | 0.3150 | 0.3440 | 0.3273 | model_form_blend |
| predicted_H | 1.1500 | 1.1870 | 1.1657 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.1600 | 0.1570 | 0.1587 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3650 | 0.3547 | model_form_blend |
| predicted_R | 0.5620 | 0.4960 | 0.5339 | model_form_blend |
| predicted_RBI | 0.6800 | 0.6870 | 0.6830 | model_form_blend |
| predicted_SLG | 0.4720 | 0.4984 | 0.4832 | model_form_blend |
| predicted_SO | 0.6300 | 0.5040 | 0.5764 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.263 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 606466 |
| playerID | 606466 |
| playerName | Ketel Marte |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.346 |
| sl_xwoba | 0.378 |
| sl_xba | 0.304 |
| sl_xslg | 0.518 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 20.2 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.087 | 0.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 3.440 | 4.000 | 3.000 | Hitting_AB | 3.029 | 4.000 | 0.971 | 0.000 |
| predicted_AVG | 0.249 | 0.250 | 0.333 | Hitting_AVG | 0.292 | 0.250 | -0.042 | 0.000 |
| predicted_BB | 0.391 | 1.000 | 0.000 | Hitting_BB | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 0.886 | 1.000 | 0.114 | 0.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.086 | 1.000 | 0.914 | 0.000 |
| predicted_OBP | 0.307 | 0.400 | 0.333 | Hitting_OBP | 0.375 | 0.250 | 0.025 | 0.150 |
| predicted_R | 0.609 | 1.000 | 1.000 | Hitting_R | 0.800 | 1.000 | 0.200 | 0.000 |
| predicted_RBI | 0.380 | 3.000 | 0.000 | Hitting_RBI | 0.143 | 1.000 | 2.857 | 2.000 |
| predicted_SLG | 0.423 | 1.000 | 0.333 | Hitting_SLG | 0.472 | 1.000 | 0.528 | 0.000 |
| predicted_SO | 0.739 | 1.000 | 1.000 | Hitting_SO | 0.543 | 1.000 | 0.457 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 1 |
| Better Metrics | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.3800 -> 3.0000 (boost 2.6200, better) |
| Biggest Deboost | predicted_2B: 0.0870 -> 0.0000 (deboost -0.0870, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3074 -> 0.3194 (boost 0.0120, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7669 -> 1.0000 (boost 0.2331, worse) | predicted_AB: 3.4579 -> 3.0000 (deboost -0.4579, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.247 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6023 -> 1.0000 (boost 0.3977, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2474 -> 0.3330 (boost 0.0856, better) | predicted_SLG: 0.4279 -> 0.3330 (deboost -0.0949, 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 | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4279 (boost 0.0949, better) | predicted_AVG: 0.3330 -> 0.2474 (deboost -0.0856, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694371",
"player_name": "Tommy Troy",
"position": "1B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.087,
"predicted_3B": 0.043,
"predicted_AB": 3.44,
"predicted_AVG": 0.249,
"predicted_BB": 0.391,
"predicted_H": 0.86,
"predicted_HR": 0.14,
"predicted_OBP": 0.307,
"predicted_R": 0.609,
"predicted_RBI": 0.38,
"predicted_SLG": 0.423,
"predicted_SO": 0.739
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0863,
"predicted_3B": 0.0523,
"predicted_AB": 3.4579,
"predicted_AVG": 0.2463,
"predicted_BB": 0.3653,
"predicted_H": 0.8537,
"predicted_HBP": 0.008,
"predicted_HR": 0.1445,
"predicted_OBP": 0.3074,
"predicted_R": 0.5993,
"predicted_RBI": 0.3744,
"predicted_SLG": 0.4277,
"predicted_SO": 0.7677
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.0863,
"delta": -0.0007,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0523,
"delta": 0.0093,
"percent_delta": 0.2163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 3.4579,
"delta": 0.0179,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2463,
"delta": -0.0027,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.3653,
"delta": -0.0257,
"percent_delta": -0.0657,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8537,
"delta": -0.0063,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1445,
"delta": 0.0045,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3074,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.609,
"after": 0.5993,
"delta": -0.0097,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3744,
"delta": -0.0056,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4277,
"delta": 0.0047,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 0.7677,
"delta": 0.0287,
"percent_delta": 0.0388,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 23
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0863,
"predicted_3B": 0.0523,
"predicted_AB": 3.4579,
"predicted_AVG": 0.2474,
"predicted_BB": 0.3657,
"predicted_H": 0.8555,
"predicted_HBP": 0.008,
"predicted_HR": 0.1444,
"predicted_OBP": 0.3194,
"predicted_R": 0.6023,
"predicted_RBI": 0.3763,
"predicted_SLG": 0.4279,
"predicted_SO": 0.7669
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0863,
"after": 0.0863,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0523,
"after": 0.0523,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4579,
"after": 3.4579,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2463,
"after": 0.2474,
"delta": 0.0011,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3653,
"after": 0.3657,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8537,
"after": 0.8555,
"delta": 0.0018,
"percent_delta": 0.0021,
"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.1445,
"after": 0.1444,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3074,
"after": 0.3194,
"delta": 0.012,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5993,
"after": 0.6023,
"delta": 0.003,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3744,
"after": 0.3763,
"delta": 0.0019,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4277,
"after": 0.4279,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7677,
"after": 0.7669,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3074,
"after": 0.3194,
"delta": 0.012,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.247 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0863,
"after": 0.0,
"delta": -0.0863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0523,
"after": 0.0,
"delta": -0.0523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4579,
"after": 3.0,
"delta": -0.4579,
"percent_delta": -0.1324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3657,
"after": 0.0,
"delta": -0.3657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8555,
"after": 1.0,
"delta": 0.1445,
"percent_delta": 0.1689,
"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.1444,
"after": 0.0,
"delta": -0.1444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3763,
"after": 0.0,
"delta": -0.3763,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7669,
"after": 1.0,
"delta": 0.2331,
"percent_delta": 0.304,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7669,
"after": 1.0,
"delta": 0.2331,
"percent_delta": 0.304,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4579,
"after": 3.0,
"delta": -0.4579,
"percent_delta": -0.1324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6023,
"after": 1.0,
"delta": 0.3977,
"percent_delta": 0.6603,
"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.6023,
"after": 1.0,
"delta": 0.3977,
"percent_delta": 0.6603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2474,
"after": 0.333,
"delta": 0.0856,
"percent_delta": 0.346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3194,
"after": 0.333,
"delta": 0.0136,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4279,
"after": 0.333,
"delta": -0.0949,
"percent_delta": -0.2218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2474,
"after": 0.333,
"delta": 0.0856,
"percent_delta": 0.346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4279,
"after": 0.333,
"delta": -0.0949,
"percent_delta": -0.2218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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.2474,
"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.3194,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4279,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2474,
"delta": -0.0856,
"percent_delta": -0.257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3194,
"delta": -0.0136,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.4279,
"delta": 0.0949,
"percent_delta": 0.2849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4279,
"delta": 0.0949,
"percent_delta": 0.2849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2474,
"delta": -0.0856,
"percent_delta": -0.257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"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.44,
"after": 4.0,
"delta": 0.56,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2474,
"delta": -0.0016,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 1.0,
"delta": 0.609,
"percent_delta": 1.5575,
"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.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3194,
"delta": 0.0124,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.609,
"after": 1.0,
"delta": 0.391,
"percent_delta": 0.642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 3.0,
"delta": 2.62,
"percent_delta": 6.8947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4279,
"delta": 0.0049,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 1.0,
"delta": 0.261,
"percent_delta": 0.3532,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.38,
"after": 3.0,
"delta": 2.62,
"percent_delta": 6.8947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"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.087 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.440 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.391 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.609 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.739 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.086 | -0.001 |
| predicted_3B | 0.052 | 0.009 |
| predicted_AB | 3.458 | 0.018 |
| predicted_AVG | 0.246 | -0.003 |
| predicted_BB | 0.365 | -0.026 |
| predicted_H | 0.854 | -0.006 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.144 | 0.004 |
| predicted_OBP | 0.307 | 0.000 |
| predicted_R | 0.599 | -0.010 |
| predicted_RBI | 0.374 | -0.006 |
| predicted_SLG | 0.428 | 0.005 |
| predicted_SO | 0.768 | 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.086 | 0.000 |
| predicted_3B | 0.052 | 0.000 |
| predicted_AB | 3.458 | 0.000 |
| predicted_AVG | 0.247 | 0.001 |
| predicted_BB | 0.366 | 0.000 |
| predicted_H | 0.856 | 0.002 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.144 | -0.000 |
| predicted_OBP | 0.319 | 0.012 |
| predicted_R | 0.602 | 0.003 |
| predicted_RBI | 0.376 | 0.002 |
| predicted_SLG | 0.428 | 0.000 |
| predicted_SO | 0.767 | -0.001 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.247 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.086 |
| predicted_3B | 0.000 | -0.052 |
| predicted_AB | 3.000 | -0.458 |
| predicted_AVG | 0.333 | 0.086 |
| predicted_BB | 0.000 | -0.366 |
| predicted_H | 1.000 | 0.144 |
| predicted_HR | 0.000 | -0.144 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 1.000 | 0.398 |
| predicted_RBI | 0.000 | -0.376 |
| predicted_SLG | 0.333 | -0.095 |
| predicted_SO | 1.000 | 0.233 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.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 | - | 18.000 | 5.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 1.000 | 4.000 | 0.2778 | 0.3158 | 0.5556 | 0.2778 | 0.0556 | 0.1667 | 0.0556 | 0.2222 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 0.000 | 1.000 | 2.000 | 4.000 | 6.000 | 3.000 | 10.000 | 0.2000 | 0.2632 | 0.4286 | 0.2000 | 0.0571 | 0.1143 | 0.0857 | 0.2857 |
| season | 0.60 | 23 | - | 75.000 | 18.000 | 2.000 | 1.000 | 3.000 | 5.000 | 14.000 | 9.000 | 17.000 | 0.2400 | 0.3214 | 0.4133 | 0.2400 | 0.0400 | 0.0667 | 0.1200 | 0.2267 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0850 |
| predicted_3B | 0.0680 |
| predicted_AB | 3.4880 |
| predicted_AVG | 0.2418 |
| predicted_BB | 0.3220 |
| predicted_H | 0.8430 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1520 |
| predicted_OBP | 0.3080 |
| predicted_R | 0.5830 |
| predicted_RBI | 0.3650 |
| predicted_SLG | 0.4355 |
| predicted_SO | 0.8160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0870 | 0.0850 | 0.0863 | model_form_blend |
| predicted_3B | 0.0430 | 0.0680 | 0.0523 | model_form_blend |
| predicted_AB | 3.4400 | 3.4880 | 3.4579 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2418 | 0.2463 | model_form_blend |
| predicted_BB | 0.3910 | 0.3220 | 0.3653 | model_form_blend |
| predicted_H | 0.8600 | 0.8430 | 0.8537 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1400 | 0.1520 | 0.1445 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3080 | 0.3074 | model_form_blend |
| predicted_R | 0.6090 | 0.5830 | 0.5993 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3650 | 0.3744 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4355 | 0.4277 | model_form_blend |
| predicted_SO | 0.7390 | 0.8160 | 0.7677 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 23 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 694371 |
| playerID | 694371 |
| playerName | Tommy Troy |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.286 |
| sl_xwoba | 0.31 |
| sl_xba | 0.236 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 30.9 |
| sl_exit_velocity_avg | 84.9 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 44.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.810 | 4.000 | 4.000 | Hitting_AB | 3.504 | 4.000 | 0.496 | 0.000 |
| predicted_AVG | 0.233 | 0.000 | 0.250 | Hitting_AVG | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_BB | 0.627 | 1.000 | 1.000 | Hitting_BB | 0.654 | 0.000 | 0.346 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.800 | 0.000 | -0.800 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_OBP | 0.344 | 0.200 | 0.400 | Hitting_OBP | 0.347 | 0.000 | -0.147 | 0.200 |
| predicted_R | 0.467 | 0.000 | 1.000 | Hitting_R | 0.479 | 0.000 | -0.479 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.358 | 0.000 | -0.358 | 0.000 |
| predicted_SLG | 0.340 | 0.000 | 0.250 | Hitting_SLG | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_SO | 0.533 | 0.000 | 1.000 | Hitting_SO | 0.558 | 0.000 | -0.558 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.6270 -> 1.0000 (boost 0.3730, 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 | 6 | 2 | 4 | 2 | 4 | predicted_BB: 0.6270 -> 0.6898 (boost 0.0628, better) | predicted_AB: 3.8100 -> 3.6496 (deboost -0.1604, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3263 -> 0.3350 (boost 0.0087, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_SO: 0.5778 -> 1.0000 (boost 0.4222, worse) | predicted_RBI: 0.4268 -> 0.0000 (deboost -0.4268, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.216 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5158 -> 1.0000 (boost 0.4842, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3486 -> 0.4000 (boost 0.0514, better) | predicted_SLG: 0.3350 -> 0.2500 (deboost -0.0850, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3350 (boost 0.0850, better) | predicted_OBP: 0.4000 -> 0.3486 (deboost -0.0514, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"position": "2B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.04,
"predicted_AB": 3.81,
"predicted_AVG": 0.233,
"predicted_BB": 0.627,
"predicted_H": 0.89,
"predicted_HR": 0.08,
"predicted_OBP": 0.344,
"predicted_R": 0.467,
"predicted_RBI": 0.44,
"predicted_SLG": 0.34,
"predicted_SO": 0.533
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1215,
"predicted_3B": 0.0328,
"predicted_AB": 3.6496,
"predicted_AVG": 0.224,
"predicted_BB": 0.6898,
"predicted_H": 0.8208,
"predicted_HBP": 0.036,
"predicted_HR": 0.0711,
"predicted_OBP": 0.3502,
"predicted_R": 0.5132,
"predicted_RBI": 0.4247,
"predicted_SLG": 0.3263,
"predicted_SO": 0.5784
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1215,
"delta": -0.0115,
"percent_delta": -0.0865,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0328,
"delta": -0.0072,
"percent_delta": -0.18,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 3.6496,
"delta": -0.1604,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.224,
"delta": -0.009,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 0.6898,
"delta": 0.0628,
"percent_delta": 0.1002,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8208,
"delta": -0.0692,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0711,
"delta": -0.0089,
"percent_delta": -0.1113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3502,
"delta": 0.0062,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.5132,
"delta": 0.0462,
"percent_delta": 0.0989,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4247,
"delta": -0.0153,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3263,
"delta": -0.0137,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.533,
"after": 0.5784,
"delta": 0.0454,
"percent_delta": 0.0852,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.627,
"after": 0.6898,
"delta": 0.0628,
"percent_delta": 0.1002,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.81,
"after": 3.6496,
"delta": -0.1604,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1215,
"predicted_3B": 0.0328,
"predicted_AB": 3.6496,
"predicted_AVG": 0.2254,
"predicted_BB": 0.6905,
"predicted_H": 0.8225,
"predicted_HBP": 0.036,
"predicted_HR": 0.071,
"predicted_OBP": 0.3486,
"predicted_R": 0.5158,
"predicted_RBI": 0.4268,
"predicted_SLG": 0.335,
"predicted_SO": 0.5778
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1215,
"after": 0.1215,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0328,
"after": 0.0328,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6496,
"after": 3.6496,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2254,
"delta": 0.0014,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6898,
"after": 0.6905,
"delta": 0.0007,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8208,
"after": 0.8225,
"delta": 0.0017,
"percent_delta": 0.0021,
"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.0711,
"after": 0.071,
"delta": -0.0001,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3502,
"after": 0.3486,
"delta": -0.0016,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5132,
"after": 0.5158,
"delta": 0.0026,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4247,
"after": 0.4268,
"delta": 0.0021,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3263,
"after": 0.335,
"delta": 0.0087,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5784,
"after": 0.5778,
"delta": -0.0006,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3263,
"after": 0.335,
"delta": 0.0087,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.216 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1215,
"after": 0.0,
"delta": -0.1215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0328,
"after": 0.0,
"delta": -0.0328,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6496,
"after": 4.0,
"delta": 0.3504,
"percent_delta": 0.096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6905,
"after": 1.0,
"delta": 0.3095,
"percent_delta": 0.4482,
"direction": "boost",
"projection_effect": "better",
"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.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4268,
"after": 0.0,
"delta": -0.4268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5778,
"after": 1.0,
"delta": 0.4222,
"percent_delta": 0.7307,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5778,
"after": 1.0,
"delta": 0.4222,
"percent_delta": 0.7307,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4268,
"after": 0.0,
"delta": -0.4268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.5158,
"after": 1.0,
"delta": 0.4842,
"percent_delta": 0.9387,
"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.5158,
"after": 1.0,
"delta": 0.4842,
"percent_delta": 0.9387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2254,
"after": 0.25,
"delta": 0.0246,
"percent_delta": 0.1091,
"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.3486,
"after": 0.4,
"delta": 0.0514,
"percent_delta": 0.1474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.335,
"after": 0.25,
"delta": -0.085,
"percent_delta": -0.2537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3486,
"after": 0.4,
"delta": 0.0514,
"percent_delta": 0.1474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.25,
"delta": -0.085,
"percent_delta": -0.2537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2254,
"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.3486,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.335,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2254,
"delta": -0.0246,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3486,
"delta": -0.0514,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.335,
"delta": 0.085,
"percent_delta": 0.3401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.335,
"delta": 0.085,
"percent_delta": 0.3401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3486,
"delta": -0.0514,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 4.0,
"delta": 0.19,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2254,
"delta": -0.0076,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3486,
"delta": 0.0046,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"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.34,
"after": 0.335,
"delta": -0.005,
"percent_delta": -0.0147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.533,
"after": 0.0,
"delta": -0.533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"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.133 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.627 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.340 | - |
| predicted_SO | 0.533 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.012 |
| predicted_3B | 0.033 | -0.007 |
| predicted_AB | 3.650 | -0.160 |
| predicted_AVG | 0.224 | -0.009 |
| predicted_BB | 0.690 | 0.063 |
| predicted_H | 0.821 | -0.069 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.071 | -0.009 |
| predicted_OBP | 0.350 | 0.006 |
| predicted_R | 0.513 | 0.046 |
| predicted_RBI | 0.425 | -0.015 |
| predicted_SLG | 0.326 | -0.014 |
| predicted_SO | 0.578 | 0.045 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.650 | 0.000 |
| predicted_AVG | 0.225 | 0.001 |
| predicted_BB | 0.691 | 0.001 |
| predicted_H | 0.823 | 0.002 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.071 | -0.000 |
| predicted_OBP | 0.349 | -0.002 |
| predicted_R | 0.516 | 0.003 |
| predicted_RBI | 0.427 | 0.002 |
| predicted_SLG | 0.335 | 0.009 |
| predicted_SO | 0.578 | -0.001 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.216 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.121 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | 0.350 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 1.000 | 0.309 |
| predicted_H | 1.000 | 0.177 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.400 | 0.051 |
| predicted_R | 1.000 | 0.484 |
| predicted_RBI | 0.000 | -0.427 |
| predicted_SLG | 0.250 | -0.085 |
| 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 | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 2.000 | 4.000 | 6.000 | 4.000 | 0.1176 | 0.3478 | 0.1176 | 0.1177 | 0.0000 | 0.1177 | 0.3529 | 0.2353 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 7.000 | 10.000 | 7.000 | 0.2121 | 0.4091 | 0.3333 | 0.2121 | 0.0303 | 0.1515 | 0.3030 | 0.2121 |
| season | 0.60 | 75 | - | 257.000 | 61.000 | 10.000 | 3.000 | 4.000 | 27.000 | 35.000 | 47.000 | 40.000 | 0.2374 | 0.3537 | 0.3463 | 0.2374 | 0.0156 | 0.1051 | 0.1829 | 0.1556 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0230 |
| predicted_AB | 3.4320 |
| predicted_AVG | 0.2119 |
| predicted_BB | 0.7750 |
| predicted_H | 0.7270 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.3585 |
| predicted_R | 0.5760 |
| predicted_RBI | 0.4040 |
| predicted_SLG | 0.3078 |
| predicted_SO | 0.6400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1060 | 0.1215 | model_form_blend |
| predicted_3B | 0.0400 | 0.0230 | 0.0328 | model_form_blend |
| predicted_AB | 3.8100 | 3.4320 | 3.6496 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2119 | 0.2240 | model_form_blend |
| predicted_BB | 0.6270 | 0.7750 | 0.6898 | model_form_blend |
| predicted_H | 0.8900 | 0.7270 | 0.8208 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0800 | 0.0590 | 0.0711 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3585 | 0.3502 | model_form_blend |
| predicted_R | 0.4670 | 0.5760 | 0.5132 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4040 | 0.4247 | model_form_blend |
| predicted_SLG | 0.3400 | 0.3078 | 0.3263 | model_form_blend |
| predicted_SO | 0.5330 | 0.6400 | 0.5784 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 240 |
| Season rows before report date | 240 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.237 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 672695 |
| playerID | 672695 |
| playerName | Geraldo Perdomo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 12.6 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.321 |
| sl_xwoba | 0.328 |
| sl_xba | 0.254 |
| sl_xslg | 0.341 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 30.4 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 12.5 |
| sl_swing_percent | 39.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.156 | 0.000 | 0.000 | Hitting_2B | - | - | - | - |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | - | - | - | - |
| predicted_AB | 3.338 | 4.000 | 3.000 | Hitting_AB | - | - | - | - |
| predicted_AVG | 0.244 | 0.250 | 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.814 | 1.000 | 1.000 | Hitting_H | - | - | - | - |
| predicted_HR | 0.115 | 0.000 | 0.000 | Hitting_HR | - | - | - | - |
| predicted_OBP | 0.312 | 0.250 | 0.333 | Hitting_OBP | - | - | - | - |
| predicted_R | 0.443 | 1.000 | 0.000 | Hitting_R | - | - | - | - |
| predicted_RBI | 0.429 | 1.000 | 0.000 | Hitting_RBI | - | - | - | - |
| predicted_SLG | 0.402 | 0.250 | 0.333 | Hitting_SLG | - | - | - | - |
| predicted_SO | 0.832 | 1.000 | 1.000 | Hitting_SO | - | - | - | - |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 8 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 3 |
| Better Metrics | 4 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 3.3380 -> 4.0000 (boost 0.6620, 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 | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.3380 -> 3.4109 (boost 0.0729, better) | - | Final model input calibrated with local 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.8340 -> 1.0000 (boost 0.1660, worse) | predicted_RBI: 0.4403 -> 0.0000 (deboost -0.4403, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.245 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4549 -> 0.0000 (deboost -0.4549, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2451 -> 0.3330 (boost 0.0879, better) | predicted_SLG: 0.4035 -> 0.3330 (deboost -0.0705, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4035 (boost 0.0705, better) | predicted_AVG: 0.3330 -> 0.2451 (deboost -0.0879, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "596146",
"player_name": "Max Kepler",
"position": "3B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.013,
"predicted_AB": 3.338,
"predicted_AVG": 0.244,
"predicted_BB": 0.329,
"predicted_H": 0.814,
"predicted_HR": 0.115,
"predicted_OBP": 0.312,
"predicted_R": 0.443,
"predicted_RBI": 0.429,
"predicted_SLG": 0.402,
"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.4109,
"predicted_AVG": 0.2446,
"predicted_BB": 0.3194,
"predicted_H": 0.8343,
"predicted_HBP": 0.033,
"predicted_HR": 0.118,
"predicted_OBP": 0.3111,
"predicted_R": 0.4526,
"predicted_RBI": 0.4381,
"predicted_SLG": 0.4032,
"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.338,
"after": 3.4109,
"delta": 0.0729,
"percent_delta": 0.0218,
"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.814,
"after": 0.8343,
"delta": 0.0203,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.115,
"after": 0.118,
"delta": 0.003,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3111,
"delta": -0.0009,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 0.4526,
"delta": 0.0096,
"percent_delta": 0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.429,
"after": 0.4381,
"delta": 0.0091,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4032,
"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.338,
"after": 3.4109,
"delta": 0.0729,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_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.4109,
"predicted_AVG": 0.2451,
"predicted_BB": 0.3197,
"predicted_H": 0.8361,
"predicted_HBP": 0.033,
"predicted_HR": 0.1179,
"predicted_OBP": 0.3098,
"predicted_R": 0.4549,
"predicted_RBI": 0.4403,
"predicted_SLG": 0.4035,
"predicted_SO": 0.834
},
"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.4109,
"after": 3.4109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.2451,
"delta": 0.0005,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3194,
"after": 0.3197,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8343,
"after": 0.8361,
"delta": 0.0018,
"percent_delta": 0.0022,
"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.118,
"after": 0.1179,
"delta": -0.0001,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3111,
"after": 0.3098,
"delta": -0.0013,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4526,
"after": 0.4549,
"delta": 0.0023,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4381,
"after": 0.4403,
"delta": 0.0022,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4032,
"after": 0.4035,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8348,
"after": 0.834,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.41), rates preserved: AVG=0.245 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.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.4109,
"after": 3.0,
"delta": -0.4109,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3197,
"after": 0.0,
"delta": -0.3197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8361,
"after": 1.0,
"delta": 0.1639,
"percent_delta": 0.196,
"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.1179,
"after": 0.0,
"delta": -0.1179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4403,
"after": 0.0,
"delta": -0.4403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.834,
"after": 1.0,
"delta": 0.166,
"percent_delta": 0.199,
"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.834,
"after": 1.0,
"delta": 0.166,
"percent_delta": 0.199,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4403,
"after": 0.0,
"delta": -0.4403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4549,
"after": 0.0,
"delta": -0.4549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4549,
"after": 0.0,
"delta": -0.4549,
"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.2451,
"after": 0.333,
"delta": 0.0879,
"percent_delta": 0.3586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3098,
"after": 0.333,
"delta": 0.0232,
"percent_delta": 0.0749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4035,
"after": 0.333,
"delta": -0.0705,
"percent_delta": -0.1747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2451,
"after": 0.333,
"delta": 0.0879,
"percent_delta": 0.3586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4035,
"after": 0.333,
"delta": -0.0705,
"percent_delta": -0.1747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2451,
"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.3098,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4035,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2451,
"delta": -0.0879,
"percent_delta": -0.2639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3098,
"delta": -0.0232,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4035,
"delta": 0.0705,
"percent_delta": 0.2117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4035,
"delta": 0.0705,
"percent_delta": 0.2117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2451,
"delta": -0.0879,
"percent_delta": -0.2639,
"direction": "deboost",
"projection_effect": "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.338,
"after": 4.0,
"delta": 0.662,
"percent_delta": 0.1983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2451,
"delta": 0.0011,
"percent_delta": 0.0045,
"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.814,
"after": 1.0,
"delta": 0.186,
"percent_delta": 0.2285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3098,
"delta": -0.0022,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4035,
"delta": 0.0015,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.832,
"after": 1.0,
"delta": 0.168,
"percent_delta": 0.2019,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.338,
"after": 4.0,
"delta": 0.662,
"percent_delta": 0.1983,
"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": "boosted"
}
}
}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.338 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.814 | - |
| predicted_HR | 0.115 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.443 | - |
| predicted_RBI | 0.429 | - |
| predicted_SLG | 0.402 | - |
| 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.411 | 0.073 |
| predicted_AVG | 0.245 | 0.001 |
| predicted_BB | 0.319 | -0.010 |
| predicted_H | 0.834 | 0.020 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.118 | 0.003 |
| predicted_OBP | 0.311 | -0.001 |
| predicted_R | 0.453 | 0.010 |
| predicted_RBI | 0.438 | 0.009 |
| predicted_SLG | 0.403 | 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.411 | 0.000 |
| predicted_AVG | 0.245 | 0.001 |
| predicted_BB | 0.320 | 0.000 |
| predicted_H | 0.836 | 0.002 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.118 | -0.000 |
| predicted_OBP | 0.310 | -0.001 |
| predicted_R | 0.455 | 0.002 |
| predicted_RBI | 0.440 | 0.002 |
| predicted_SLG | 0.404 | 0.000 |
| predicted_SO | 0.834 | -0.001 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.245 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.160 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.411 |
| predicted_AVG | 0.333 | 0.088 |
| predicted_BB | 0.000 | -0.320 |
| predicted_H | 1.000 | 0.164 |
| predicted_HR | 0.000 | -0.118 |
| predicted_OBP | 0.333 | 0.023 |
| predicted_R | 0.000 | -0.455 |
| predicted_RBI | 0.000 | -0.440 |
| predicted_SLG | 0.333 | -0.071 |
| 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 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 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.2480 |
| predicted_BB | 0.2680 |
| predicted_H | 0.9430 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1340 |
| predicted_OBP | 0.3061 |
| predicted_R | 0.5040 |
| predicted_RBI | 0.4870 |
| predicted_SLG | 0.4094 |
| 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.3380 | 3.8010 | 3.4109 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2480 | 0.2446 | model_form_blend |
| predicted_BB | 0.3290 | 0.2680 | 0.3194 | model_form_blend |
| predicted_H | 0.8140 | 0.9430 | 0.8343 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1150 | 0.1340 | 0.1180 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3061 | 0.3111 | model_form_blend |
| predicted_R | 0.4430 | 0.5040 | 0.4526 | model_form_blend |
| predicted_RBI | 0.4290 | 0.4870 | 0.4381 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4094 | 0.4032 | 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 | 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.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.235 | 0.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.530 | 4.000 | 4.000 | Hitting_AB | 3.613 | 3.000 | 0.387 | 1.000 |
| predicted_AVG | 0.270 | 0.000 | 0.250 | Hitting_AVG | 0.267 | 0.333 | -0.267 | -0.333 |
| predicted_BB | 0.412 | 0.000 | 0.000 | Hitting_BB | 0.380 | 1.000 | -0.380 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 0.965 | 1.000 | -0.965 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.358 | 0.000 | 0.250 | Hitting_OBP | 0.337 | 0.500 | -0.337 | -0.500 |
| predicted_R | 0.471 | 0.000 | 0.000 | Hitting_R | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_SLG | 0.456 | 0.000 | 0.250 | Hitting_SLG | 0.425 | 0.333 | -0.425 | -0.333 |
| predicted_SO | 0.686 | 0.000 | 1.000 | Hitting_SO | 0.817 | 0.000 | -0.817 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.5300 -> 4.0000 (boost 0.4700, 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 | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.9500 -> 1.0027 (boost 0.0527, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3667 -> 0.3584 (deboost -0.0083, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.4823 -> 1.0000 (boost 0.5177, better) | predicted_BB: 0.4252 -> 0.0000 (deboost -0.4252, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.282 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4460 -> 0.0000 (deboost -0.4460, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4634 -> 0.2500 (deboost -0.2134, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4634 (boost 0.2134, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "SS",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 3.53,
"predicted_AVG": 0.27,
"predicted_BB": 0.412,
"predicted_H": 0.95,
"predicted_HR": 0.13,
"predicted_OBP": 0.358,
"predicted_R": 0.471,
"predicted_RBI": 0.47,
"predicted_SLG": 0.456,
"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.235,
"predicted_3B": 0.0008,
"predicted_AB": 3.565,
"predicted_AVG": 0.2817,
"predicted_BB": 0.4248,
"predicted_H": 1.0027,
"predicted_HBP": 0.054,
"predicted_HR": 0.137,
"predicted_OBP": 0.3667,
"predicted_R": 0.4438,
"predicted_RBI": 0.4799,
"predicted_SLG": 0.4685,
"predicted_SO": 0.6638
},
"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.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.53,
"after": 3.565,
"delta": 0.035,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2817,
"delta": 0.0117,
"percent_delta": 0.0433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.4248,
"delta": 0.0128,
"percent_delta": 0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0027,
"delta": 0.0527,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.137,
"delta": 0.007,
"percent_delta": 0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3667,
"delta": 0.0087,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4438,
"delta": -0.0272,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4799,
"delta": 0.0099,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4685,
"delta": 0.0125,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.686,
"after": 0.6638,
"delta": -0.0222,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.95,
"after": 1.0027,
"delta": 0.0527,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.235,
"predicted_3B": 0.0008,
"predicted_AB": 3.565,
"predicted_AVG": 0.2819,
"predicted_BB": 0.4252,
"predicted_H": 1.0048,
"predicted_HBP": 0.054,
"predicted_HR": 0.1369,
"predicted_OBP": 0.3584,
"predicted_R": 0.446,
"predicted_RBI": 0.4823,
"predicted_SLG": 0.4634,
"predicted_SO": 0.6631
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.565,
"after": 3.565,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2817,
"after": 0.2819,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4248,
"after": 0.4252,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0027,
"after": 1.0048,
"delta": 0.0021,
"percent_delta": 0.0021,
"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.137,
"after": 0.1369,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3667,
"after": 0.3584,
"delta": -0.0083,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4438,
"after": 0.446,
"delta": 0.0022,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4799,
"after": 0.4823,
"delta": 0.0024,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4685,
"after": 0.4634,
"delta": -0.0051,
"percent_delta": -0.0109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6638,
"after": 0.6631,
"delta": -0.0007,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3667,
"after": 0.3584,
"delta": -0.0083,
"percent_delta": -0.0226,
"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.282 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"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.565,
"after": 4.0,
"delta": 0.435,
"percent_delta": 0.122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4252,
"after": 0.0,
"delta": -0.4252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0048,
"after": 1.0,
"delta": -0.0048,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1369,
"after": 0.0,
"delta": -0.1369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4823,
"after": 1.0,
"delta": 0.5177,
"percent_delta": 1.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6631,
"after": 1.0,
"delta": 0.3369,
"percent_delta": 0.5081,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4823,
"after": 1.0,
"delta": 0.5177,
"percent_delta": 1.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4252,
"after": 0.0,
"delta": -0.4252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.446,
"after": 0.0,
"delta": -0.446,
"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.446,
"after": 0.0,
"delta": -0.446,
"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.2819,
"after": 0.25,
"delta": -0.0319,
"percent_delta": -0.1132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3584,
"after": 0.25,
"delta": -0.1084,
"percent_delta": -0.3025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4634,
"after": 0.25,
"delta": -0.2134,
"percent_delta": -0.4605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4634,
"after": 0.25,
"delta": -0.2134,
"percent_delta": -0.4605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2819,
"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.3584,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4634,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2819,
"delta": 0.0319,
"percent_delta": 0.1274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3584,
"delta": 0.1084,
"percent_delta": 0.4335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4634,
"delta": 0.2134,
"percent_delta": 0.8536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4634,
"delta": 0.2134,
"percent_delta": 0.8536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.53,
"after": 4.0,
"delta": 0.47,
"percent_delta": 0.1331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2819,
"delta": 0.0119,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.358,
"after": 0.3584,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4634,
"delta": 0.0074,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"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": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.53,
"after": 4.0,
"delta": 0.47,
"percent_delta": 0.1331,
"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.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.530 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.456 | - |
| 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.235 | 0.000 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.565 | 0.035 |
| predicted_AVG | 0.282 | 0.012 |
| predicted_BB | 0.425 | 0.013 |
| predicted_H | 1.003 | 0.053 |
| predicted_HBP | 0.054 | - |
| predicted_HR | 0.137 | 0.007 |
| predicted_OBP | 0.367 | 0.009 |
| predicted_R | 0.444 | -0.027 |
| predicted_RBI | 0.480 | 0.010 |
| predicted_SLG | 0.469 | 0.013 |
| predicted_SO | 0.664 | -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.235 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.565 | 0.000 |
| predicted_AVG | 0.282 | 0.000 |
| predicted_BB | 0.425 | 0.000 |
| predicted_H | 1.005 | 0.002 |
| predicted_HBP | 0.054 | 0.000 |
| predicted_HR | 0.137 | -0.000 |
| predicted_OBP | 0.358 | -0.008 |
| predicted_R | 0.446 | 0.002 |
| predicted_RBI | 0.482 | 0.002 |
| predicted_SLG | 0.463 | -0.005 |
| predicted_SO | 0.663 | -0.001 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.282 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.235 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.435 |
| predicted_AVG | 0.250 | -0.032 |
| predicted_BB | 0.000 | -0.425 |
| predicted_H | 1.000 | -0.005 |
| predicted_HR | 0.000 | -0.137 |
| predicted_OBP | 0.250 | -0.108 |
| predicted_R | 0.000 | -0.446 |
| predicted_RBI | 1.000 | 0.518 |
| predicted_SLG | 0.250 | -0.213 |
| predicted_SO | 1.000 | 0.337 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 20.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 2.000 | 0.3500 | 0.4091 | 0.5500 | 0.3500 | 0.0500 | 0.1500 | 0.1000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 37.000 | 13.000 | 3.000 | 0.000 | 2.000 | 4.000 | 3.000 | 7.000 | 5.000 | 0.3514 | 0.4667 | 0.5946 | 0.3513 | 0.0541 | 0.1081 | 0.1892 | 0.1351 |
| season | 0.60 | 51 | - | 174.000 | 48.000 | 12.000 | 0.000 | 6.000 | 25.000 | 24.000 | 21.000 | 35.000 | 0.2759 | 0.3582 | 0.4483 | 0.2759 | 0.0345 | 0.1437 | 0.1207 | 0.2011 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2350 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6150 |
| predicted_AVG | 0.2983 |
| predicted_BB | 0.4430 |
| predicted_H | 1.0780 |
| predicted_HBP | 0.0540 |
| predicted_HR | 0.1470 |
| predicted_OBP | 0.3792 |
| predicted_R | 0.4050 |
| predicted_RBI | 0.4940 |
| predicted_SLG | 0.4864 |
| predicted_SO | 0.6320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2350 | 0.2350 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5300 | 3.6150 | 3.5650 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2983 | 0.2817 | model_form_blend |
| predicted_BB | 0.4120 | 0.4430 | 0.4248 | model_form_blend |
| predicted_H | 0.9500 | 1.0780 | 1.0027 | model_form_blend |
| predicted_HBP | - | 0.0540 | 0.0540 | form_only |
| predicted_HR | 0.1300 | 0.1470 | 0.1370 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3792 | 0.3667 | model_form_blend |
| predicted_R | 0.4710 | 0.4050 | 0.4438 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4940 | 0.4799 | model_form_blend |
| predicted_SLG | 0.4560 | 0.4864 | 0.4685 | model_form_blend |
| predicted_SO | 0.6860 | 0.6320 | 0.6638 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260621_MIN@ARI |
| game_type | full |
| mlbID | 672515 |
| playerID | 672515 |
| playerName | Gabriel Moreno |
| pos | C |
| started | True |
| startingPosition | C |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-21 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.351 |
| sl_xwoba | 0.365 |
| sl_xba | 0.28 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 17.0 |
| sl_swing_percent | 41.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.164 | 0.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | -0.227 | 0.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.477 | 4.000 | 0.523 | 0.000 |
| predicted_AVG | 0.241 | 0.500 | 0.333 | Hitting_AVG | 0.266 | 0.250 | 0.234 | 0.250 |
| predicted_BB | 0.315 | 0.000 | 0.000 | Hitting_BB | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 2.000 | 1.000 | Hitting_H | 0.926 | 1.000 | 1.074 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_OBP | 0.293 | 0.500 | 0.333 | Hitting_OBP | 0.348 | 0.250 | 0.152 | 0.250 |
| predicted_R | 0.438 | 1.000 | 0.000 | Hitting_R | 0.546 | 0.000 | 0.454 | 1.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.556 | 1.000 | -0.556 | -1.000 |
| predicted_SLG | 0.348 | 0.500 | 0.333 | Hitting_SLG | 0.451 | 0.250 | 0.049 | 0.250 |
| predicted_SO | 0.781 | 1.000 | 1.000 | Hitting_SO | 0.731 | 0.000 | 0.269 | 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_H: 0.8200 -> 2.0000 (boost 1.1800, better) |
| Biggest Deboost | predicted_RBI: 0.3700 -> 0.0000 (deboost -0.3700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3480 -> 0.3362 (deboost -0.0118, worse) | Final model input calibrated with local 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.3362 -> 0.3482 (boost 0.0120, 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.7478 -> 1.0000 (boost 0.2522, worse) | predicted_AB: 3.4354 -> 3.0000 (deboost -0.4354, worse) | AB rounded to 3 (raw=3.44), rates preserved: AVG=0.235 HR/AB=0.024 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=34.0, weight=0.213, BvP AVG=0.206) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4228 -> 0.0000 (deboost -0.4228, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2349 -> 0.3330 (boost 0.0981, better) | predicted_SLG: 0.3482 -> 0.3330 (deboost -0.0152, 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_AB: 3.0000 -> 4.0000 (boost 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.3482 (boost 0.0152, 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": "571448",
"player_name": "Nolan Arenado",
"position": "LF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.164,
"predicted_3B": 0.0,
"predicted_AB": 3.4,
"predicted_AVG": 0.241,
"predicted_BB": 0.315,
"predicted_H": 0.82,
"predicted_HR": 0.09,
"predicted_OBP": 0.293,
"predicted_R": 0.438,
"predicted_RBI": 0.37,
"predicted_SLG": 0.348,
"predicted_SO": 0.781
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.4354,
"predicted_AVG": 0.2344,
"predicted_BB": 0.2964,
"predicted_H": 0.8052,
"predicted_HBP": 0.049,
"predicted_HR": 0.0828,
"predicted_OBP": 0.2904,
"predicted_R": 0.4207,
"predicted_RBI": 0.3654,
"predicted_SLG": 0.3362,
"predicted_SO": 0.7485
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.1404,
"delta": -0.0236,
"percent_delta": -0.1439,
"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.4,
"after": 3.4354,
"delta": 0.0354,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2344,
"delta": -0.0066,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.2964,
"delta": -0.0186,
"percent_delta": -0.059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8052,
"delta": -0.0148,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0828,
"delta": -0.0072,
"percent_delta": -0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2904,
"delta": -0.0026,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.4207,
"delta": -0.0173,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3654,
"delta": -0.0046,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3362,
"delta": -0.0118,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 0.7485,
"delta": -0.0325,
"percent_delta": -0.0416,
"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.348,
"after": 0.3362,
"delta": -0.0118,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.4354,
"predicted_AVG": 0.2349,
"predicted_BB": 0.2967,
"predicted_H": 0.8069,
"predicted_HBP": 0.049,
"predicted_HR": 0.0827,
"predicted_OBP": 0.2957,
"predicted_R": 0.4228,
"predicted_RBI": 0.3672,
"predicted_SLG": 0.3482,
"predicted_SO": 0.7478
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1404,
"after": 0.1404,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4354,
"after": 3.4354,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2344,
"after": 0.2349,
"delta": 0.0005,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2964,
"after": 0.2967,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8052,
"after": 0.8069,
"delta": 0.0017,
"percent_delta": 0.0021,
"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.0828,
"after": 0.0827,
"delta": -0.0001,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2904,
"after": 0.2957,
"delta": 0.0053,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4207,
"after": 0.4228,
"delta": 0.0021,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3654,
"after": 0.3672,
"delta": 0.0018,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3362,
"after": 0.3482,
"delta": 0.012,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7485,
"after": 0.7478,
"delta": -0.0007,
"percent_delta": -0.0009,
"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.3362,
"after": 0.3482,
"delta": 0.012,
"percent_delta": 0.0357,
"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.44), rates preserved: AVG=0.235 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.1404,
"after": 0.0,
"delta": -0.1404,
"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.4354,
"after": 3.0,
"delta": -0.4354,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2967,
"after": 0.0,
"delta": -0.2967,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8069,
"after": 1.0,
"delta": 0.1931,
"percent_delta": 0.2393,
"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.0827,
"after": 0.0,
"delta": -0.0827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3672,
"after": 0.0,
"delta": -0.3672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7478,
"after": 1.0,
"delta": 0.2522,
"percent_delta": 0.3373,
"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.7478,
"after": 1.0,
"delta": 0.2522,
"percent_delta": 0.3373,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4354,
"after": 3.0,
"delta": -0.4354,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=34.0, weight=0.213, BvP AVG=0.206)",
"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.7875,
"bvp": 0.2125
},
"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.4228,
"after": 0.0,
"delta": -0.4228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4228,
"after": 0.0,
"delta": -0.4228,
"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.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.2957,
"after": 0.333,
"delta": 0.0373,
"percent_delta": 0.1261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3482,
"after": 0.333,
"delta": -0.0152,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3482,
"after": 0.333,
"delta": -0.0152,
"percent_delta": -0.0437,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2349,
"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.2957,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3482,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2349,
"delta": -0.0981,
"percent_delta": -0.2947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2957,
"delta": -0.0373,
"percent_delta": -0.112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3482,
"delta": 0.0152,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3482,
"delta": 0.0152,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2349,
"delta": -0.0981,
"percent_delta": -0.2947,
"direction": "deboost",
"projection_effect": "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.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.241,
"after": 0.2349,
"delta": -0.0061,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 2.0,
"delta": 1.18,
"percent_delta": 1.439,
"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.293,
"after": 0.2957,
"delta": 0.0027,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 1.0,
"delta": 0.562,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3482,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 1.0,
"delta": 0.219,
"percent_delta": 0.2804,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.82,
"after": 2.0,
"delta": 1.18,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.400 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.438 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 0.781 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | -0.024 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.435 | 0.035 |
| predicted_AVG | 0.234 | -0.007 |
| predicted_BB | 0.296 | -0.019 |
| predicted_H | 0.805 | -0.015 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.083 | -0.007 |
| predicted_OBP | 0.290 | -0.003 |
| predicted_R | 0.421 | -0.017 |
| predicted_RBI | 0.365 | -0.005 |
| predicted_SLG | 0.336 | -0.012 |
| predicted_SO | 0.749 | -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.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.435 | 0.000 |
| predicted_AVG | 0.235 | 0.001 |
| predicted_BB | 0.297 | 0.000 |
| predicted_H | 0.807 | 0.002 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.083 | -0.000 |
| predicted_OBP | 0.296 | 0.005 |
| predicted_R | 0.423 | 0.002 |
| predicted_RBI | 0.367 | 0.002 |
| predicted_SLG | 0.348 | 0.012 |
| predicted_SO | 0.748 | -0.001 |
AB rounded to 3 (raw=3.44), rates preserved: AVG=0.235 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 | - |
Sample-size BvP blend (BvP AB=34.0, weight=0.213, BvP AVG=0.206)
| 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.140 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.435 |
| predicted_AVG | 0.333 | 0.098 |
| predicted_BB | 0.000 | -0.297 |
| predicted_H | 1.000 | 0.193 |
| predicted_HR | 0.000 | -0.083 |
| predicted_OBP | 0.333 | 0.037 |
| predicted_R | 0.000 | -0.423 |
| predicted_RBI | 0.000 | -0.367 |
| predicted_SLG | 0.333 | -0.015 |
| predicted_SO | 1.000 | 0.252 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 0.2353 | 0.2778 | 0.2353 | 0.2353 | 0.0000 | 0.0588 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 7.000 | 0.1622 | 0.2000 | 0.1622 | 0.1622 | 0.0000 | 0.0541 | 0.0541 | 0.1892 |
| season | 0.60 | 73 | - | 247.000 | 59.000 | 12.000 | 0.000 | 8.000 | 32.000 | 32.000 | 23.000 | 57.000 | 0.2389 | 0.3154 | 0.3846 | 0.2389 | 0.0324 | 0.1295 | 0.0931 | 0.2308 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4840 |
| predicted_AVG | 0.2253 |
| predicted_BB | 0.2710 |
| predicted_H | 0.7850 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.2869 |
| predicted_R | 0.3970 |
| predicted_RBI | 0.3590 |
| predicted_SLG | 0.3199 |
| predicted_SO | 0.7040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1080 | 0.1404 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4000 | 3.4840 | 3.4354 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2253 | 0.2344 | model_form_blend |
| predicted_BB | 0.3150 | 0.2710 | 0.2964 | model_form_blend |
| predicted_H | 0.8200 | 0.7850 | 0.8052 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0900 | 0.0730 | 0.0828 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2869 | 0.2904 | model_form_blend |
| predicted_R | 0.4380 | 0.3970 | 0.4207 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3590 | 0.3654 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3199 | 0.3362 | model_form_blend |
| predicted_SO | 0.7810 | 0.7040 | 0.7485 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 571448 |
| playerID | 571448 |
| playerName | Nolan Arenado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.309 |
| sl_xwoba | 0.296 |
| sl_xba | 0.237 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 31.4 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 46.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.227 | 0.000 | 0.000 | Hitting_2B | 0.245 | 1.000 | -0.245 | -1.000 |
| predicted_3B | 0.120 | 0.000 | 0.000 | Hitting_3B | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_AB | 3.707 | 3.000 | 4.000 | Hitting_AB | 3.710 | 4.000 | -0.710 | -1.000 |
| predicted_AVG | 0.266 | 0.333 | 0.250 | Hitting_AVG | 0.296 | 0.500 | 0.037 | -0.167 |
| predicted_BB | 0.480 | 1.000 | 0.000 | Hitting_BB | 0.580 | 0.000 | 0.420 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 1.098 | 2.000 | -0.098 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_OBP | 0.358 | 0.500 | 0.250 | Hitting_OBP | 0.393 | 0.500 | 0.107 | 0.000 |
| predicted_R | 0.627 | 1.000 | 1.000 | Hitting_R | 0.690 | 1.000 | 0.310 | 0.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.580 | 0.000 | -0.580 | 0.000 |
| predicted_SLG | 0.508 | 0.333 | 0.250 | Hitting_SLG | 0.567 | 0.750 | -0.233 | -0.417 |
| predicted_SO | 0.880 | 0.000 | 1.000 | Hitting_SO | 0.963 | 0.000 | -0.963 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.4800 -> 1.0000 (boost 0.5200, better) |
| Biggest Deboost | predicted_SO: 0.8800 -> 0.0000 (deboost -0.8800, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 6 | 0 | predicted_H: 0.9600 -> 1.0348 (boost 0.0748, better) | predicted_SO: 0.8800 -> 0.8124 (deboost -0.0676, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3676 -> 0.3573 (deboost -0.0103, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 3.7172 -> 4.0000 (boost 0.2828, better) | predicted_BB: 0.4533 -> 0.0000 (deboost -0.4533, worse) | AB rounded to 4 (raw=3.72), rates preserved: AVG=0.279 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6144 -> 1.0000 (boost 0.3856, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5439 -> 0.2500 (deboost -0.2939, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5439 (boost 0.2939, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "CF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.227,
"predicted_3B": 0.12,
"predicted_AB": 3.707,
"predicted_AVG": 0.266,
"predicted_BB": 0.48,
"predicted_H": 0.96,
"predicted_HR": 0.16,
"predicted_OBP": 0.358,
"predicted_R": 0.627,
"predicted_RBI": 0.68,
"predicted_SLG": 0.508,
"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.2372,
"predicted_3B": 0.1213,
"predicted_AB": 3.7172,
"predicted_AVG": 0.2824,
"predicted_BB": 0.4528,
"predicted_H": 1.0348,
"predicted_HBP": 0.05,
"predicted_HR": 0.1685,
"predicted_OBP": 0.3676,
"predicted_R": 0.6113,
"predicted_RBI": 0.7357,
"predicted_SLG": 0.5396,
"predicted_SO": 0.8124
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.2372,
"delta": 0.0102,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.12,
"after": 0.1213,
"delta": 0.0013,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.707,
"after": 3.7172,
"delta": 0.0102,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2824,
"delta": 0.0164,
"percent_delta": 0.0617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.48,
"after": 0.4528,
"delta": -0.0272,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0348,
"delta": 0.0748,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1685,
"delta": 0.0085,
"percent_delta": 0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3676,
"delta": 0.0096,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.627,
"after": 0.6113,
"delta": -0.0157,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.7357,
"delta": 0.0557,
"percent_delta": 0.0819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.508,
"after": 0.5396,
"delta": 0.0316,
"percent_delta": 0.0622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8124,
"delta": -0.0676,
"percent_delta": -0.0768,
"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.96,
"after": 1.0348,
"delta": 0.0748,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8124,
"delta": -0.0676,
"percent_delta": -0.0768,
"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": 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.2372,
"predicted_3B": 0.1213,
"predicted_AB": 3.7172,
"predicted_AVG": 0.279,
"predicted_BB": 0.4533,
"predicted_H": 1.037,
"predicted_HBP": 0.05,
"predicted_HR": 0.1683,
"predicted_OBP": 0.3573,
"predicted_R": 0.6144,
"predicted_RBI": 0.7394,
"predicted_SLG": 0.5439,
"predicted_SO": 0.8116
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2372,
"after": 0.2372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1213,
"after": 0.1213,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7172,
"after": 3.7172,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2824,
"after": 0.279,
"delta": -0.0034,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4528,
"after": 0.4533,
"delta": 0.0005,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0348,
"after": 1.037,
"delta": 0.0022,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.05,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1685,
"after": 0.1683,
"delta": -0.0002,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3676,
"after": 0.3573,
"delta": -0.0103,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6113,
"after": 0.6144,
"delta": 0.0031,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7357,
"after": 0.7394,
"delta": 0.0037,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5396,
"after": 0.5439,
"delta": 0.0043,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8124,
"after": 0.8116,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3676,
"after": 0.3573,
"delta": -0.0103,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.72), rates preserved: AVG=0.279 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2372,
"after": 0.0,
"delta": -0.2372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1213,
"after": 0.0,
"delta": -0.1213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7172,
"after": 4.0,
"delta": 0.2828,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4533,
"after": 0.0,
"delta": -0.4533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.037,
"after": 1.0,
"delta": -0.037,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1683,
"after": 0.0,
"delta": -0.1683,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7394,
"after": 1.0,
"delta": 0.2606,
"percent_delta": 0.3524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8116,
"after": 1.0,
"delta": 0.1884,
"percent_delta": 0.2321,
"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.7172,
"after": 4.0,
"delta": 0.2828,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4533,
"after": 0.0,
"delta": -0.4533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6144,
"after": 1.0,
"delta": 0.3856,
"percent_delta": 0.6276,
"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.6144,
"after": 1.0,
"delta": 0.3856,
"percent_delta": 0.6276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.25,
"delta": -0.029,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3573,
"after": 0.25,
"delta": -0.1073,
"percent_delta": -0.3003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5439,
"after": 0.25,
"delta": -0.2939,
"percent_delta": -0.5404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5439,
"after": 0.25,
"delta": -0.2939,
"percent_delta": -0.5404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.279,
"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.3573,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5439,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.279,
"delta": 0.029,
"percent_delta": 0.1159,
"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.3573,
"delta": 0.1073,
"percent_delta": 0.4293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5439,
"delta": 0.2939,
"percent_delta": 1.1756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.5439,
"delta": 0.2939,
"percent_delta": 1.1756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.707,
"after": 3.0,
"delta": -0.707,
"percent_delta": -0.1907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.279,
"delta": 0.013,
"percent_delta": 0.0489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.48,
"after": 1.0,
"delta": 0.52,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3573,
"delta": -0.0007,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.508,
"after": 0.5439,
"delta": 0.0359,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.48,
"after": 1.0,
"delta": 0.52,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"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.227 | - |
| predicted_3B | 0.120 | - |
| predicted_AB | 3.707 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.480 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.627 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.508 | - |
| 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.237 | 0.010 |
| predicted_3B | 0.121 | 0.001 |
| predicted_AB | 3.717 | 0.010 |
| predicted_AVG | 0.282 | 0.016 |
| predicted_BB | 0.453 | -0.027 |
| predicted_H | 1.035 | 0.075 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.169 | 0.009 |
| predicted_OBP | 0.368 | 0.010 |
| predicted_R | 0.611 | -0.016 |
| predicted_RBI | 0.736 | 0.056 |
| predicted_SLG | 0.540 | 0.032 |
| predicted_SO | 0.812 | -0.068 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | 0.000 |
| predicted_3B | 0.121 | 0.000 |
| predicted_AB | 3.717 | 0.000 |
| predicted_AVG | 0.279 | -0.003 |
| predicted_BB | 0.453 | 0.001 |
| predicted_H | 1.037 | 0.002 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.168 | -0.000 |
| predicted_OBP | 0.357 | -0.010 |
| predicted_R | 0.614 | 0.003 |
| predicted_RBI | 0.739 | 0.004 |
| predicted_SLG | 0.544 | 0.004 |
| predicted_SO | 0.812 | -0.001 |
AB rounded to 4 (raw=3.72), rates preserved: AVG=0.279 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.237 |
| predicted_3B | 0.000 | -0.121 |
| predicted_AB | 4.000 | 0.283 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.453 |
| predicted_H | 1.000 | -0.037 |
| predicted_HR | 0.000 | -0.168 |
| predicted_OBP | 0.250 | -0.107 |
| predicted_R | 1.000 | 0.386 |
| predicted_RBI | 1.000 | 0.261 |
| predicted_SLG | 0.250 | -0.294 |
| predicted_SO | 1.000 | 0.188 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 2.000 | 1.000 | 1.000 | 8.000 | 3.000 | 2.000 | 2.000 | 0.3889 | 0.4500 | 0.7778 | 0.3889 | 0.0556 | 0.4444 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 2.000 | 1.000 | 2.000 | 9.000 | 5.000 | 3.000 | 5.000 | 0.3077 | 0.3721 | 0.5641 | 0.3077 | 0.0513 | 0.2308 | 0.0769 | 0.1282 |
| season | 0.60 | 75 | - | 278.000 | 79.000 | 17.000 | 9.000 | 13.000 | 42.000 | 47.000 | 36.000 | 66.000 | 0.2842 | 0.3719 | 0.5504 | 0.2842 | 0.0468 | 0.1511 | 0.1295 | 0.2374 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2510 |
| predicted_3B | 0.1230 |
| predicted_AB | 3.7310 |
| predicted_AVG | 0.3045 |
| predicted_BB | 0.4160 |
| predicted_H | 1.1360 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.1800 |
| predicted_OBP | 0.3806 |
| predicted_R | 0.5900 |
| predicted_RBI | 0.8110 |
| predicted_SLG | 0.5824 |
| predicted_SO | 0.7210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.2510 | 0.2372 | model_form_blend |
| predicted_3B | 0.1200 | 0.1230 | 0.1213 | model_form_blend |
| predicted_AB | 3.7070 | 3.7310 | 3.7172 | model_form_blend |
| predicted_AVG | 0.2660 | 0.3045 | 0.2824 | model_form_blend |
| predicted_BB | 0.4800 | 0.4160 | 0.4528 | model_form_blend |
| predicted_H | 0.9600 | 1.1360 | 1.0348 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.1600 | 0.1800 | 0.1685 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3806 | 0.3676 | model_form_blend |
| predicted_R | 0.6270 | 0.5900 | 0.6113 | model_form_blend |
| predicted_RBI | 0.6800 | 0.8110 | 0.7357 | model_form_blend |
| predicted_SLG | 0.5080 | 0.5824 | 0.5396 | model_form_blend |
| predicted_SO | 0.8800 | 0.7210 | 0.8124 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.284 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260622_ARI@STL |
| game_type | full |
| mlbID | 682998 |
| playerID | 682998 |
| playerName | Corbin Carroll |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.37 |
| sl_xwoba | 0.353 |
| sl_xba | 0.26 |
| sl_xslg | 0.459 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 28.9 |
| 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.133 | 0.000 | 0.000 | Hitting_2B | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.733 | 4.000 | 4.000 | Hitting_AB | 3.779 | 3.000 | 0.221 | 1.000 |
| predicted_AVG | 0.222 | 0.250 | 0.250 | Hitting_AVG | 0.226 | 0.000 | 0.024 | 0.250 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.327 | 0.000 | -0.327 | 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.856 | 0.000 | 0.144 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.258 | 0.250 | 0.250 | Hitting_OBP | 0.285 | 0.250 | -0.035 | 0.000 |
| predicted_R | 0.267 | 0.000 | 0.000 | Hitting_R | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_SLG | 0.304 | 0.250 | 0.250 | Hitting_SLG | 0.310 | 0.000 | -0.060 | 0.250 |
| predicted_SO | 0.767 | 1.000 | 1.000 | Hitting_SO | 0.731 | 0.000 | 0.269 | 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.7330 -> 4.0000 (boost 0.2670, 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 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3040 -> 0.2898 (deboost -0.0142, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2108 -> 0.1967 (deboost -0.0141, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_H: 0.7395 -> 1.0000 (boost 0.2605, better) | predicted_RBI: 0.4280 -> 0.0000 (deboost -0.4280, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.197 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2786 -> 0.0000 (deboost -0.2786, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1967 -> 0.2500 (boost 0.0533, better) | predicted_SLG: 0.2818 -> 0.2500 (deboost -0.0318, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.2818 (boost 0.0318, better) | predicted_AVG: 0.2500 -> 0.1967 (deboost -0.0533, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666971",
"player_name": "Lourdes Gurriel Jr.",
"position": "RF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.0,
"predicted_AB": 3.733,
"predicted_AVG": 0.222,
"predicted_BB": 0.267,
"predicted_H": 0.74,
"predicted_HR": 0.07,
"predicted_OBP": 0.258,
"predicted_R": 0.267,
"predicted_RBI": 0.4,
"predicted_SLG": 0.304,
"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.1204,
"predicted_3B": 0.0012,
"predicted_AB": 3.7593,
"predicted_AVG": 0.2108,
"predicted_BB": 0.234,
"predicted_H": 0.738,
"predicted_HBP": 0.069,
"predicted_HR": 0.0657,
"predicted_OBP": 0.2512,
"predicted_R": 0.2772,
"predicted_RBI": 0.4259,
"predicted_SLG": 0.2898,
"predicted_SO": 0.7902
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1204,
"delta": -0.0126,
"percent_delta": -0.0947,
"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.733,
"after": 3.7593,
"delta": 0.0263,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2108,
"delta": -0.0112,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.234,
"delta": -0.033,
"percent_delta": -0.1236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.738,
"delta": -0.002,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0657,
"delta": -0.0043,
"percent_delta": -0.0614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2512,
"delta": -0.0068,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.2772,
"delta": 0.0102,
"percent_delta": 0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4259,
"delta": 0.0259,
"percent_delta": 0.0647,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.304,
"after": 0.2898,
"delta": -0.0142,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.7902,
"delta": 0.0232,
"percent_delta": 0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.304,
"after": 0.2898,
"delta": -0.0142,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 30
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1204,
"predicted_3B": 0.0012,
"predicted_AB": 3.7593,
"predicted_AVG": 0.1967,
"predicted_BB": 0.2342,
"predicted_H": 0.7395,
"predicted_HBP": 0.069,
"predicted_HR": 0.0656,
"predicted_OBP": 0.2438,
"predicted_R": 0.2786,
"predicted_RBI": 0.428,
"predicted_SLG": 0.2818,
"predicted_SO": 0.7894
},
"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.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7593,
"after": 3.7593,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2108,
"after": 0.1967,
"delta": -0.0141,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.2342,
"delta": 0.0002,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.738,
"after": 0.7395,
"delta": 0.0015,
"percent_delta": 0.002,
"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.0657,
"after": 0.0656,
"delta": -0.0001,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2512,
"after": 0.2438,
"delta": -0.0074,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2772,
"after": 0.2786,
"delta": 0.0014,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4259,
"after": 0.428,
"delta": 0.0021,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2898,
"after": 0.2818,
"delta": -0.008,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7902,
"after": 0.7894,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2108,
"after": 0.1967,
"delta": -0.0141,
"percent_delta": -0.0669,
"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.197 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.1204,
"after": 0.0,
"delta": -0.1204,
"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.7593,
"after": 4.0,
"delta": 0.2407,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2342,
"after": 0.0,
"delta": -0.2342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7395,
"after": 1.0,
"delta": 0.2605,
"percent_delta": 0.3523,
"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.0656,
"after": 0.0,
"delta": -0.0656,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.428,
"after": 0.0,
"delta": -0.428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7894,
"after": 1.0,
"delta": 0.2106,
"percent_delta": 0.2668,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7395,
"after": 1.0,
"delta": 0.2605,
"percent_delta": 0.3523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.428,
"after": 0.0,
"delta": -0.428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2786,
"after": 0.0,
"delta": -0.2786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.2786,
"after": 0.0,
"delta": -0.2786,
"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.1967,
"after": 0.25,
"delta": 0.0533,
"percent_delta": 0.271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2438,
"after": 0.25,
"delta": 0.0062,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2818,
"after": 0.25,
"delta": -0.0318,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1967,
"after": 0.25,
"delta": 0.0533,
"percent_delta": 0.271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2818,
"after": 0.25,
"delta": -0.0318,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1967,
"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.2438,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2818,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1967,
"delta": -0.0533,
"percent_delta": -0.2131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2438,
"delta": -0.0062,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2818,
"delta": 0.0318,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2818,
"delta": 0.0318,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1967,
"delta": -0.0533,
"percent_delta": -0.2131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.733,
"after": 4.0,
"delta": 0.267,
"percent_delta": 0.0715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1967,
"delta": -0.0253,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"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.258,
"after": 0.2438,
"delta": -0.0142,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.304,
"after": 0.2818,
"delta": -0.0222,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 1.0,
"delta": 0.233,
"percent_delta": 0.3038,
"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.733,
"after": 4.0,
"delta": 0.267,
"percent_delta": 0.0715,
"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.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.733 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.258 | - |
| predicted_R | 0.267 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.304 | - |
| 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.120 | -0.013 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.759 | 0.026 |
| predicted_AVG | 0.211 | -0.011 |
| predicted_BB | 0.234 | -0.033 |
| predicted_H | 0.738 | -0.002 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.066 | -0.004 |
| predicted_OBP | 0.251 | -0.007 |
| predicted_R | 0.277 | 0.010 |
| predicted_RBI | 0.426 | 0.026 |
| predicted_SLG | 0.290 | -0.014 |
| predicted_SO | 0.790 | 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.120 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.759 | 0.000 |
| predicted_AVG | 0.197 | -0.014 |
| predicted_BB | 0.234 | 0.000 |
| predicted_H | 0.740 | 0.002 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.066 | -0.000 |
| predicted_OBP | 0.244 | -0.007 |
| predicted_R | 0.279 | 0.001 |
| predicted_RBI | 0.428 | 0.002 |
| predicted_SLG | 0.282 | -0.008 |
| predicted_SO | 0.789 | -0.001 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.197 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.120 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.241 |
| predicted_AVG | 0.250 | 0.053 |
| predicted_BB | 0.000 | -0.234 |
| predicted_H | 1.000 | 0.260 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.250 | 0.006 |
| predicted_R | 0.000 | -0.279 |
| predicted_RBI | 0.000 | -0.428 |
| predicted_SLG | 0.250 | -0.032 |
| predicted_SO | 1.000 | 0.211 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | - | 20.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 4.000 | 0.1000 | 0.1429 | 0.1000 | 0.1000 | 0.0000 | 0.1000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 0.000 | 0.000 | 1.000 | 6.000 | 2.000 | 0.000 | 10.000 | 0.1842 | 0.2000 | 0.2632 | 0.1842 | 0.0263 | 0.1579 | 0.0000 | 0.2632 |
| season | 0.60 | 30 | - | 112.000 | 23.000 | 4.000 | 0.000 | 1.000 | 13.000 | 8.000 | 8.000 | 23.000 | 0.2054 | 0.2602 | 0.2679 | 0.2054 | 0.0089 | 0.1161 | 0.0714 | 0.2054 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1010 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.8000 |
| predicted_AVG | 0.1934 |
| predicted_BB | 0.1830 |
| predicted_H | 0.7350 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.2407 |
| predicted_R | 0.2930 |
| predicted_RBI | 0.4660 |
| predicted_SLG | 0.2679 |
| predicted_SO | 0.8260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1010 | 0.1204 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.7330 | 3.8000 | 3.7593 | model_form_blend |
| predicted_AVG | 0.2220 | 0.1934 | 0.2108 | model_form_blend |
| predicted_BB | 0.2670 | 0.1830 | 0.2340 | model_form_blend |
| predicted_H | 0.7400 | 0.7350 | 0.7380 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.0700 | 0.0590 | 0.0657 | model_form_blend |
| predicted_OBP | 0.2580 | 0.2407 | 0.2512 | model_form_blend |
| predicted_R | 0.2670 | 0.2930 | 0.2772 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4660 | 0.4259 | model_form_blend |
| predicted_SLG | 0.3040 | 0.2679 | 0.2898 | model_form_blend |
| predicted_SO | 0.7670 | 0.8260 | 0.7902 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 104 |
| Season rows before report date | 104 |
| Report year | 2026 |
| Profile rows used | 30 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.205 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 666971 |
| playerID | 666971 |
| playerName | Lourdes Gurriel Jr. |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.261 |
| sl_xwoba | 0.281 |
| sl_xba | 0.232 |
| sl_xslg | 0.32 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 32.8 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.333 | 3.000 | -0.333 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.600 | 1.000 | -0.600 | 0.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.933 | 6.000 | 0.067 | -1.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 5.780 | 7.000 | 0.420 | -0.800 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 4.333 | 5.000 | 3.667 | 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: 7.0000 -> 8.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 8.0000 -> 6.2000 (deboost -1.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 8.0000 -> 6.2000 (deboost -1.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 2 | 1 | 1 | 2 | 0 | predicted_SO: 7.0000 -> 8.0000 (boost 1.0000, better) | predicted_HR: 2.0000 -> 1.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 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": "593958",
"player_name": "Eduardo Rodriguez",
"position": "Starter",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 8.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 6.2,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.2,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 6.2,
"predicted_R": 1.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"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": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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 | 2.000 | - |
| predicted_IP | 8.000 | - |
| 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 | 1.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 6.200 | -1.800 |
| predicted_SO | 7.000 | 0.000 |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | -1.000 |
| predicted_IP | 6.200 | 0.000 |
| predicted_SO | 8.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.000 | 9.000 | 25.000 | 12.000 | 22.000 | 5.000 | 2.8929 | 1.3214 | 0.3214 | 0.8929 | 0.4286 | 0.7857 | 0.1786 |
| last_10 | 0.35 | 10 | 60.100 | 15.000 | 49.000 | 23.000 | 47.000 | 5.000 | 2.2376 | 1.1934 | 0.2486 | 0.8122 | 0.3812 | 0.7790 | 0.0829 |
| season | 0.20 | 15 | 88.100 | 24.000 | 74.000 | 35.000 | 65.000 | 9.000 | 2.4453 | 1.2340 | 0.2717 | 0.8377 | 0.3962 | 0.7359 | 0.1019 |
| Metric | Value |
|---|---|
| predicted_BB | 2.5130 |
| predicted_ER | 2.1750 |
| predicted_ERA | 3.0647 |
| predicted_H | 5.6380 |
| predicted_HR | 0.8600 |
| predicted_IP | 6.1000 |
| predicted_SO | 5.2290 |
| predicted_WHIP | 1.2761 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.5130 | 2.2793 | model_form_blend |
| predicted_ER | 1.0000 | 2.1750 | 1.6396 | model_form_blend |
| predicted_ERA | - | 3.0647 | 3.0647 | form_only |
| predicted_H | 5.0000 | 5.6380 | 5.3473 | model_form_blend |
| predicted_HR | 2.0000 | 0.8600 | 1.3794 | model_form_blend |
| predicted_IP | 8.0000 | 6.1000 | 7.1000 | model_form_blend |
| predicted_SO | 7.0000 | 5.2290 | 6.0359 | 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 | 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 | 6.2 |
| H | 5 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 8 |
| HR | 2 |
| BF | 27 |
| Pitches | 107 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 27 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.45 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 7 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 100 |
| Pitching_R | 1 |
| Pitching_SO | 5 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260617_LAA@ARI |
| game_type | full |
| mlbID | 593958 |
| playerID | 593958 |
| playerName | Eduardo Rodriguez |
| pos | P |
| started | True |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-17 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.287 |
| sl_xwoba | 0.343 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 37.2 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 45.8 |
| sl_avg_best_speed | 77.600942875 |
| sl_avg_hyper_speed | 93.84595725 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.050 | 1.000 | -0.050 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 1.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642528",
"player_name": "Jonathan Loáisiga",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| season | 0.20 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1370 |
| predicted_ER | 0.1930 |
| predicted_ERA | 4.1523 |
| predicted_H | 0.3860 |
| predicted_HR | 0.0570 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3950 |
| predicted_WHIP | 1.2509 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1370 | 0.0361 | model_form_blend |
| predicted_ER | 0.0000 | 0.1930 | 0.0508 | model_form_blend |
| predicted_ERA | - | 4.1523 | 4.1523 | form_only |
| predicted_H | 0.0000 | 0.3860 | 0.1016 | model_form_blend |
| predicted_HR | 0.0000 | 0.0570 | 0.0150 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3950 | 0.8407 | model_form_blend |
| predicted_WHIP | - | 1.2509 | 1.2509 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 642528 |
| playerID | 642528 |
| playerName | Jonathan Loáisiga |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.255 |
| sl_xwoba | 0.28 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 32.4 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 53.0 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.73888888888888 |
| sv_release_spin_rate | 2386.833333333333 |
| sv_effective_speed | 92.84444444444443 |
| sv_launch_speed | 82.26666666666667 |
| sv_launch_angle | 12.833333333333334 |
| sv_woba_value | 1.25 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.1770000000000001 |
| sv_delta_home_win_exp | -0.0119999999999999 |
| sl_avg_best_speed | 73.984381765 |
| sl_avg_hyper_speed | 93.186280882 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 1.000 | 1.000 | -0.900 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656464",
"player_name": "Kevin Ginkel",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1230 |
| predicted_ER | 0.1880 |
| predicted_ERA | 4.7066 |
| predicted_H | 0.3620 |
| predicted_HR | 0.0510 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3290 |
| predicted_WHIP | 1.3526 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1230 | 0.0300 | model_form_blend |
| predicted_ER | 1.0000 | 0.1880 | 0.8022 | model_form_blend |
| predicted_ERA | - | 4.7066 | 4.7066 | form_only |
| predicted_H | 0.0000 | 0.3620 | 0.0882 | model_form_blend |
| predicted_HR | 0.0000 | 0.0510 | 0.0124 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.3290 | 1.5929 | model_form_blend |
| predicted_WHIP | - | 1.3526 | 1.3526 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 1 |
| 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 | 9.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260327_ARI@LAD |
| game_type | full |
| mlbID | 656464 |
| playerID | 656464 |
| playerName | Kevin Ginkel |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-27 |
| game_pk | 823971.0 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.306 |
| sl_xwoba | 0.301 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 47.3 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 48.7 |
| sv_pitch_count | 21.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.71428571428571 |
| sv_release_spin_rate | 2369.5238095238096 |
| sv_effective_speed | 89.54285714285714 |
| sv_launch_speed | 84.74444444444445 |
| sv_launch_angle | 17.555555555555557 |
| sv_woba_value | 2.15 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.421 |
| sv_delta_home_win_exp | 0.227 |
| sl_avg_best_speed | 81.303054444 |
| sl_avg_hyper_speed | 94.845341685 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.100 | 0.100 | 0.900 | 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": "623149",
"player_name": "Paul Sewald",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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": 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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 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 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1170 |
| predicted_ER | 0.1660 |
| predicted_ERA | 4.4776 |
| predicted_H | 0.3190 |
| predicted_HR | 0.0490 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3140 |
| predicted_WHIP | 1.3097 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1170 | 0.0273 | model_form_blend |
| predicted_ER | 0.0000 | 0.1660 | 0.0387 | model_form_blend |
| predicted_ERA | - | 4.4776 | 4.4776 | form_only |
| predicted_H | 0.0000 | 0.3190 | 0.0743 | model_form_blend |
| predicted_HR | 0.0000 | 0.0490 | 0.0114 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.3140 | 1.6072 | model_form_blend |
| predicted_WHIP | - | 1.3097 | 1.3097 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| 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 | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 623149 |
| playerID | 623149 |
| playerName | Paul Sewald |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.287 |
| sl_xwoba | 0.288 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 51.0 |
| sv_pitch_count | 5.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 88.6 |
| sv_release_spin_rate | 2524.2 |
| sv_effective_speed | 88.5 |
| sv_launch_speed | 79.85 |
| sv_launch_angle | 22.5 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 1.0 |
| sv_delta_run_exp | -0.26 |
| sv_delta_home_win_exp | -0.008 |
| sl_avg_best_speed | 81.157792927 |
| sl_avg_hyper_speed | 94.531678171 |
| Field | Value |
|---|---|
| Pitcher | Walker Buehler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2653 |
| ESPN Rank | 172 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5 |
| Pre ER | 5 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 4.6098 |
| Season WHIP | 1.3780 |
| Role Avg IP | 4.8240 |
| Recent Avg IP | 4.8670 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"opponent": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"edges": {
"quality_edge": -0.0815,
"offense_edge": -0.1211,
"opponent_offense_edge": -0.037,
"defense_strength": 0.0052,
"opponent_defense_weakness": 0.0106,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9984,
"run_prevention": 0.9976,
"strikeout": 1.0005
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621111",
"profile": {
"available": true,
"pitcher_id": "621111",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 220.0,
"k_percent": 21.7,
"bb_percent": 8.5,
"woba": 0.321,
"xwoba": 0.326,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 41.7,
"avg_best_speed": 80.559,
"avg_hyper_speed": 94.4464,
"whiff_percent": 20.6,
"swing_percent": 44.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.3815,
"command_and_miss": -0.2829,
"regression_edge": -0.1429,
"xwoba_edge": -0.3714,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.4714,
"whiff_edge": -0.7,
"bb_edge": 0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621111",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2653,
"sample_weight": 0.88,
"run_prevention_factor": 1.0225,
"strikeout_factor": 0.9708,
"walk_factor": 0.993,
"homer_factor": 1.0483,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621111",
"espn_id": 39251,
"player_name": "Walker Buehler",
"team": "SD",
"role": "pitcher",
"espn_rank": 172,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 172,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 17.0,
"gs_rank": 36,
"qs_value": 3.0,
"qs_rank": 103,
"era_value": 4.6097,
"era_rank": null,
"w_value": 5.0,
"w_rank": 63,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 82.0,
"ip_rank": 87,
"h_value": 83.0,
"h_rank": 55,
"er_value": 42.0,
"er_rank": 52,
"hr_value": 9.0,
"hr_rank": 91,
"bb_value": 30.0,
"bb_rank": 60,
"k_value": 76.0,
"k_rank": 69,
"k_per_9_value": 8.341464,
"k_per_9_rank": 21.0,
"whip_value": 1.378,
"whip_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0198,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0198,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9938,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0425,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9743,
"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": 51.2,
"ER": 23,
"H": 49,
"BB": 18,
"SO": 47,
"HR": 7,
"ERA": 4.006451612903226,
"WHIP": 1.2967741935483872,
"K9": 8.187096774193549,
"HR9": 1.2193548387096775,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "621111",
"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": "621111",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 13.0,
"R": 13.0,
"H": 29.0,
"BB": 10.0,
"SO": 27.0,
"HR": 5.0,
"BF": 107.0,
"Pitches": 418.0
},
"per_game": {
"IP": 5.0,
"ER": 2.6,
"R": 2.6,
"H": 5.8,
"BB": 2.0,
"SO": 5.4,
"HR": 1.0,
"BF": 21.4,
"Pitches": 83.6
},
"rates": {
"ERA": 4.8082,
"WHIP": 1.6027,
"ER_per_IP": 0.53425,
"H_per_IP": 1.19178,
"BB_per_IP": 0.41096,
"SO_per_IP": 1.10959,
"HR_per_IP": 0.20548
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.2,
"ER": 23.0,
"R": 23.0,
"H": 49.0,
"BB": 18.0,
"SO": 47.0,
"HR": 7.0,
"BF": 214.0,
"Pitches": 837.0
},
"per_game": {
"IP": 5.1,
"ER": 2.3,
"R": 2.3,
"H": 4.9,
"BB": 1.8,
"SO": 4.7,
"HR": 0.7,
"BF": 21.4,
"Pitches": 83.7
},
"rates": {
"ERA": 4.0065,
"WHIP": 1.2968,
"ER_per_IP": 0.44516,
"H_per_IP": 0.94839,
"BB_per_IP": 0.34839,
"SO_per_IP": 0.90968,
"HR_per_IP": 0.13548
}
},
"season": {
"games": 17,
"totals": {
"IP": 82.0,
"ER": 42.0,
"R": 42.0,
"H": 83.0,
"BB": 30.0,
"SO": 76.0,
"HR": 9.0,
"BF": 351.0,
"Pitches": 1382.0
},
"per_game": {
"IP": 4.2,
"ER": 2.4706,
"R": 2.4706,
"H": 4.8824,
"BB": 1.7647,
"SO": 4.4706,
"HR": 0.5294,
"BF": 20.6471,
"Pitches": 81.2941
},
"rates": {
"ERA": 4.6098,
"WHIP": 1.378,
"ER_per_IP": 0.5122,
"H_per_IP": 1.0122,
"BB_per_IP": 0.36585,
"SO_per_IP": 0.92683,
"HR_per_IP": 0.10976
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.519,
"predicted_H": 5.279,
"predicted_BB": 1.889,
"predicted_SO": 4.998,
"predicted_HR": 0.801,
"predicted_ERA": 4.499,
"predicted_WHIP": 1.4226
}
}{
"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.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.519,
"final": 3.6256,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.279,
"final": 6.0466,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.889,
"final": 1.4925,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.998,
"final": 3.6608,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.801,
"final": 0.8898,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.499,
"final": 4.499,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4226,
"final": 1.4226,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.0161 |
| ESPN Rank | 630 |
| 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 | 1 |
| Pre SO | 0 |
| Season ERA | 5.2826 |
| Season WHIP | 1.0435 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"opponent": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"edges": {
"quality_edge": -0.0815,
"offense_edge": -0.1211,
"opponent_offense_edge": -0.037,
"defense_strength": 0.0052,
"opponent_defense_weakness": 0.0106,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9984,
"run_prevention": 0.9976,
"strikeout": 1.0005
},
"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": 22.4,
"bb_percent": 8.8,
"woba": 0.3,
"xwoba": 0.306,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 31.3,
"avg_best_speed": 76.8558,
"avg_hyper_speed": 93.2905,
"whiff_percent": 20.7,
"swing_percent": 43.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.2095,
"command_and_miss": -0.2479,
"regression_edge": -0.1714,
"xwoba_edge": 0.2,
"barrel_edge": -0.2444,
"hard_hit_edge": 1.0143,
"whiff_edge": -0.6857,
"bb_edge": 0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "606996",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0161,
"sample_weight": 0.45,
"run_prevention_factor": 0.9986,
"strikeout_factor": 0.9871,
"walk_factor": 0.9991,
"homer_factor": 0.9878,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606996",
"espn_id": 39936,
"player_name": "Kyle Hart",
"team": "SD",
"role": "pitcher",
"espn_rank": 630,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 630,
"gp_value": 21.0,
"gp_rank": 212,
"gs_value": 1.0,
"gs_rank": 258,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 5.2826,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 5.0,
"hld_rank": 111,
"ip_value": 30.2,
"ip_rank": 319,
"h_value": 21.0,
"h_rank": 377,
"er_value": 18.0,
"er_rank": 213,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 28.0,
"k_rank": 330,
"k_per_9_value": 8.217391,
"k_per_9_rank": 27.0,
"whip_value": 1.0434,
"whip_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9994,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9994,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9942,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 14.1,
"ER": 8,
"H": 9,
"BB": 5,
"SO": 19,
"HR": 4,
"ERA": 5.023255813953488,
"WHIP": 0.9767441860465116,
"K9": 11.930232558139535,
"HR9": 2.511627906976744,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-04T00: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": 6.082,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5488,
"prior_weight": 0.4512
},
"role": "pitcher",
"player_id": "606996",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 8.2,
"ER": 8.0,
"R": 9.0,
"H": 8.0,
"BB": 5.0,
"SO": 13.0,
"HR": 4.0,
"BF": 40.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.2,
"ER": 1.6,
"R": 1.8,
"H": 1.6,
"BB": 1.0,
"SO": 2.6,
"HR": 0.8,
"BF": 8.0,
"Pitches": 35.2
},
"rates": {
"ERA": 8.3077,
"WHIP": 1.5,
"ER_per_IP": 0.92308,
"H_per_IP": 0.92308,
"BB_per_IP": 0.57692,
"SO_per_IP": 1.5,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.1,
"ER": 8.0,
"R": 9.0,
"H": 9.0,
"BB": 5.0,
"SO": 19.0,
"HR": 4.0,
"BF": 58.0,
"Pitches": 237.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 0.9,
"H": 0.9,
"BB": 0.5,
"SO": 1.9,
"HR": 0.4,
"BF": 5.8,
"Pitches": 23.7
},
"rates": {
"ERA": 5.0233,
"WHIP": 0.9767,
"ER_per_IP": 0.55814,
"H_per_IP": 0.62791,
"BB_per_IP": 0.34884,
"SO_per_IP": 1.32558,
"HR_per_IP": 0.27907
}
},
"season": {
"games": 21,
"totals": {
"IP": 30.2,
"ER": 18.0,
"R": 19.0,
"H": 21.0,
"BB": 11.0,
"SO": 28.0,
"HR": 4.0,
"BF": 125.0,
"Pitches": 491.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8571,
"R": 0.9048,
"H": 1.0,
"BB": 0.5238,
"SO": 1.3333,
"HR": 0.1905,
"BF": 5.9524,
"Pitches": 23.381
},
"rates": {
"ERA": 5.2826,
"WHIP": 1.0435,
"ER_per_IP": 0.58696,
"H_per_IP": 0.68478,
"BB_per_IP": 0.3587,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.13043
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.888,
"predicted_H": 1.219,
"predicted_BB": 0.58,
"predicted_SO": 1.636,
"predicted_HR": 0.353,
"predicted_ERA": 5.6433,
"predicted_WHIP": 1.2713
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5406,
"form_weight": 0.4594,
"form_reliability": 0.5488,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.082,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5488,
"prior_weight": 0.4512
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.888,
"final": 0.4079,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.219,
"final": 1.1006,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.58,
"final": 0.8071,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.636,
"final": 0.7515,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.353,
"final": 0.1622,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6433,
"final": 5.6433,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2713,
"final": 1.2713,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.4923 |
| ESPN Rank | 213 |
| 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 | 3.5217 |
| Season WHIP | 1.1087 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"opponent": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"edges": {
"quality_edge": -0.0815,
"offense_edge": -0.1211,
"opponent_offense_edge": -0.037,
"defense_strength": 0.0052,
"opponent_defense_weakness": 0.0106,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9984,
"run_prevention": 0.9976,
"strikeout": 1.0005
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670970",
"profile": {
"available": true,
"pitcher_id": "670970",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 28.6,
"bb_percent": 5.8,
"woba": 0.265,
"xwoba": 0.252,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 30.3,
"avg_best_speed": 73.7367,
"avg_hyper_speed": 92.909,
"whiff_percent": 35.3,
"swing_percent": 51.0
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.4,
"command_and_miss": 1.0307,
"regression_edge": 0.3714,
"xwoba_edge": 1.7429,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.1571,
"whiff_edge": 1.4,
"bb_edge": 0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670970",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4923,
"sample_weight": 0.452,
"run_prevention_factor": 0.9582,
"strikeout_factor": 1.0408,
"walk_factor": 0.972,
"homer_factor": 0.9169,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670970",
"espn_id": 40917,
"player_name": "Adrian Morejon",
"team": "SD",
"role": "pitcher",
"espn_rank": 213,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 213,
"gp_value": 41.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.5217,
"era_rank": null,
"w_value": 6.0,
"w_rank": 46,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 14.0,
"hld_rank": 10,
"ip_value": 46.0,
"ip_rank": 170,
"h_value": 40.0,
"h_rank": 178,
"er_value": 18.0,
"er_rank": 213,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 54.0,
"k_rank": 136,
"k_per_9_value": 10.565217,
"k_per_9_rank": 21.0,
"whip_value": 1.1086,
"whip_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9811,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9811,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9873,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9624,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0184,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 2,
"H": 10,
"BB": 4,
"SO": 13,
"HR": 1,
"ERA": 1.5428571428571427,
"WHIP": 1.2,
"K9": 10.028571428571427,
"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-07-05T00: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": 9.123,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.646,
"prior_weight": 0.354
},
"role": "pitcher",
"player_id": "670970",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 2.0,
"R": 3.0,
"H": 7.0,
"BB": 4.0,
"SO": 6.0,
"HR": 1.0,
"BF": 29.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.6,
"H": 1.4,
"BB": 0.8,
"SO": 1.2,
"HR": 0.2,
"BF": 5.8,
"Pitches": 20.6
},
"rates": {
"ERA": 3.0,
"WHIP": 1.8333,
"ER_per_IP": 0.33333,
"H_per_IP": 1.16667,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 2.0,
"R": 3.0,
"H": 10.0,
"BB": 4.0,
"SO": 13.0,
"HR": 1.0,
"BF": 48.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.3,
"H": 1.0,
"BB": 0.4,
"SO": 1.3,
"HR": 0.1,
"BF": 4.8,
"Pitches": 17.7
},
"rates": {
"ERA": 1.5429,
"WHIP": 1.2,
"ER_per_IP": 0.17143,
"H_per_IP": 0.85714,
"BB_per_IP": 0.34286,
"SO_per_IP": 1.11429,
"HR_per_IP": 0.08571
}
},
"season": {
"games": 41,
"totals": {
"IP": 46.0,
"ER": 18.0,
"R": 20.0,
"H": 40.0,
"BB": 11.0,
"SO": 54.0,
"HR": 3.0,
"BF": 189.0,
"Pitches": 739.0
},
"per_game": {
"IP": 1.0,
"ER": 0.439,
"R": 0.4878,
"H": 0.9756,
"BB": 0.2683,
"SO": 1.3171,
"HR": 0.0732,
"BF": 4.6098,
"Pitches": 18.0244
},
"rates": {
"ERA": 3.5217,
"WHIP": 1.1087,
"ER_per_IP": 0.3913,
"H_per_IP": 0.86957,
"BB_per_IP": 0.23913,
"SO_per_IP": 1.17391,
"HR_per_IP": 0.06522
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.427,
"predicted_H": 1.159,
"predicted_BB": 0.502,
"predicted_SO": 1.21,
"predicted_HR": 0.151,
"predicted_ERA": 3.2819,
"predicted_WHIP": 1.4172
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4996,
"form_weight": 0.5004,
"form_reliability": 0.646,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.123,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.646,
"prior_weight": 0.354
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.427,
"final": 0.2137,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.159,
"final": 1.0796,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.502,
"final": 0.2512,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.21,
"final": 0.6055,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.151,
"final": 0.0756,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2819,
"final": 3.2819,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4172,
"final": 1.4172,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.7592 |
| ESPN Rank | 38 |
| 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 | 0.9818 |
| Season WHIP | 0.8182 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"opponent": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"edges": {
"quality_edge": -0.0815,
"offense_edge": -0.1211,
"opponent_offense_edge": -0.037,
"defense_strength": 0.0052,
"opponent_defense_weakness": 0.0106,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9984,
"run_prevention": 0.9976,
"strikeout": 1.0005
},
"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": 48.2,
"bb_percent": 9.4,
"woba": 0.18,
"xwoba": 0.181,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 20.7,
"avg_best_speed": 73.3813,
"avg_hyper_speed": 91.4946,
"whiff_percent": 47.5,
"swing_percent": 46.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 2.1009,
"command_and_miss": 1.975,
"regression_edge": -0.0286,
"xwoba_edge": 2.5,
"barrel_edge": 1.2444,
"hard_hit_edge": 2.5,
"whiff_edge": 2.5,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "695243",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.7592,
"sample_weight": 0.45,
"run_prevention_factor": 0.9355,
"strikeout_factor": 1.09,
"walk_factor": 1.0045,
"homer_factor": 0.8764,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695243",
"espn_id": 4730225,
"player_name": "Mason Miller",
"team": "SD",
"role": "pitcher",
"espn_rank": 38,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 38,
"gp_value": 35.0,
"gp_rank": 73,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 0.9818,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 22.0,
"sv_rank": 3,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 36.2,
"ip_rank": 245,
"h_value": 17.0,
"h_rank": 430,
"er_value": 4.0,
"er_rank": 570,
"hr_value": 0.0,
"hr_rank": 625,
"bb_value": 13.0,
"bb_rank": 272,
"k_value": 67.0,
"k_rank": 96,
"k_per_9_value": 16.445454,
"k_per_9_rank": 10.0,
"whip_value": 0.8181,
"whip_rank": null,
"war_value": 2.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.971,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.971,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9444,
"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": 5,
"BB": 2,
"SO": 17,
"HR": 0,
"ERA": 0.8181818181818182,
"WHIP": 0.6363636363636364,
"K9": 13.909090909090908,
"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-05T00: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": 7.272,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5926,
"prior_weight": 0.4074
},
"role": "pitcher",
"player_id": "695243",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 15.8
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.8824,
"ER_per_IP": 0.17647,
"H_per_IP": 0.70588,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 17.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.5,
"BB": 0.2,
"SO": 1.7,
"HR": 0.0,
"BF": 3.9,
"Pitches": 16.8
},
"rates": {
"ERA": 0.8182,
"WHIP": 0.6364,
"ER_per_IP": 0.09091,
"H_per_IP": 0.45455,
"BB_per_IP": 0.18182,
"SO_per_IP": 1.54545,
"HR_per_IP": 0.0
}
},
"season": {
"games": 35,
"totals": {
"IP": 36.2,
"ER": 4.0,
"R": 6.0,
"H": 17.0,
"BB": 13.0,
"SO": 67.0,
"HR": 0.0,
"BF": 139.0,
"Pitches": 598.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1143,
"R": 0.1714,
"H": 0.4857,
"BB": 0.3714,
"SO": 1.9143,
"HR": 0.0,
"BF": 3.9714,
"Pitches": 17.0857
},
"rates": {
"ERA": 0.9818,
"WHIP": 0.8182,
"ER_per_IP": 0.10909,
"H_per_IP": 0.46364,
"BB_per_IP": 0.35455,
"SO_per_IP": 1.82727,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.284,
"predicted_H": 0.733,
"predicted_BB": 0.272,
"predicted_SO": 1.208,
"predicted_HR": 0.061,
"predicted_ERA": 2.5578,
"predicted_WHIP": 1.0049
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5221,
"form_weight": 0.4779,
"form_reliability": 0.5926,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.272,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5926,
"prior_weight": 0.4074
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.284,
"final": 0.1357,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.733,
"final": 0.3503,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.272,
"final": 0.13,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.208,
"final": 0.5773,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0292,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5578,
"final": 2.5578,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0049,
"final": 1.0049,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bradgley Rodriguez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4259 |
| ESPN Rank | 143 |
| 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 | 2.2091 |
| Season WHIP | 1.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"opponent": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"edges": {
"quality_edge": -0.0815,
"offense_edge": -0.1211,
"opponent_offense_edge": -0.037,
"defense_strength": 0.0052,
"opponent_defense_weakness": 0.0106,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9984,
"run_prevention": 0.9976,
"strikeout": 1.0005
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "699134",
"profile": {
"available": true,
"pitcher_id": "699134",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 22.6,
"bb_percent": 9.0,
"woba": 0.262,
"xwoba": 0.244,
"sweet_spot_percent": 19.8,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 31.1,
"avg_best_speed": 76.5295,
"avg_hyper_speed": 92.8406,
"whiff_percent": 29.9,
"swing_percent": 50.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.4984,
"command_and_miss": 0.215,
"regression_edge": 0.5143,
"xwoba_edge": 1.9714,
"barrel_edge": 1.0,
"hard_hit_edge": 1.0429,
"whiff_edge": 0.6286,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "699134",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4259,
"sample_weight": 0.45,
"run_prevention_factor": 0.9638,
"strikeout_factor": 1.0113,
"walk_factor": 1.0009,
"homer_factor": 0.9186,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699134",
"espn_id": 5266086,
"player_name": "Bradgley Rodriguez",
"team": "SD",
"role": "pitcher",
"espn_rank": 143,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 143,
"gp_value": 34.0,
"gp_rank": 89,
"gs_value": 3.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.209,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 5.0,
"hld_rank": 111,
"ip_value": 36.2,
"ip_rank": 245,
"h_value": 30.0,
"h_rank": 268,
"er_value": 9.0,
"er_rank": 419,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 14.0,
"bb_rank": 256,
"k_value": 35.0,
"k_rank": 255,
"k_per_9_value": 8.590909,
"k_per_9_rank": 28.0,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 0.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9837,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9837,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9634,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0051,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 4,
"H": 9,
"BB": 6,
"SO": 9,
"HR": 1,
"ERA": 4.0,
"WHIP": 1.6666666666666667,
"K9": 9.0,
"HR9": 1.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-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "699134",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.272,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5926,
"prior_weight": 0.4074
},
"role": "pitcher",
"player_id": "699134",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.2
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 4.0,
"R": 5.0,
"H": 9.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 158.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.9,
"BB": 0.6,
"SO": 0.9,
"HR": 0.1,
"BF": 4.2,
"Pitches": 15.8
},
"rates": {
"ERA": 4.0,
"WHIP": 1.6667,
"ER_per_IP": 0.44444,
"H_per_IP": 1.0,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 34,
"totals": {
"IP": 36.2,
"ER": 9.0,
"R": 12.0,
"H": 30.0,
"BB": 14.0,
"SO": 35.0,
"HR": 1.0,
"BF": 155.0,
"Pitches": 598.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2647,
"R": 0.3529,
"H": 0.8824,
"BB": 0.4118,
"SO": 1.0294,
"HR": 0.0294,
"BF": 4.5588,
"Pitches": 17.5882
},
"rates": {
"ERA": 2.2091,
"WHIP": 1.2,
"ER_per_IP": 0.24545,
"H_per_IP": 0.81818,
"BB_per_IP": 0.38182,
"SO_per_IP": 0.95455,
"HR_per_IP": 0.02727
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.335,
"predicted_H": 0.764,
"predicted_BB": 0.444,
"predicted_SO": 0.932,
"predicted_HR": 0.075,
"predicted_ERA": 3.4935,
"predicted_WHIP": 1.3977
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5221,
"form_weight": 0.4779,
"form_reliability": 0.5926,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.272,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5926,
"prior_weight": 0.4074
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.335,
"final": 0.1601,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.764,
"final": 0.3651,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.444,
"final": 0.2122,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.932,
"final": 0.9675,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0358,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4935,
"final": 3.4935,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3977,
"final": 1.3977,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Yuki Matsui |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1509 |
| ESPN Rank | 118 |
| 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 | 2.0323 |
| Season WHIP | 1.2258 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 95,
"wins": 46,
"losses": 49,
"win_pct": 0.4842,
"runs_scored": 379.0,
"runs_allowed": 429.0,
"run_differential": -50.0,
"run_differential_per_game": -0.5263,
"avg_runs_scored": 3.9895,
"avg_runs_allowed": 4.5158,
"offense_index": 0.8789,
"defense_index": 1.0052,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 7.6,
"run_differential": -37.0
},
"available": true,
"quality_score": -0.1822
},
"opponent": {
"team": "ARI",
"games": 97,
"wins": 48,
"losses": 49,
"win_pct": 0.4948,
"runs_scored": 424.0,
"runs_allowed": 445.0,
"run_differential": -21.0,
"run_differential_per_game": -0.2165,
"avg_runs_scored": 4.3711,
"avg_runs_allowed": 4.5876,
"offense_index": 0.963,
"defense_index": 0.9894,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.0,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.1007
},
"edges": {
"quality_edge": -0.0815,
"offense_edge": -0.1211,
"opponent_offense_edge": -0.037,
"defense_strength": 0.0052,
"opponent_defense_weakness": 0.0106,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9984,
"run_prevention": 0.9976,
"strikeout": 1.0005
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "673513",
"profile": {
"available": true,
"pitcher_id": "673513",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 39.0,
"k_percent": 26.6,
"bb_percent": 14.1,
"woba": 0.293,
"xwoba": 0.296,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 34.7,
"avg_best_speed": 77.346,
"avg_hyper_speed": 93.3133,
"whiff_percent": 38.3,
"swing_percent": 48.9
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.3184,
"command_and_miss": 0.6371,
"regression_edge": -0.0857,
"xwoba_edge": 0.4857,
"barrel_edge": -0.7778,
"hard_hit_edge": 0.5286,
"whiff_edge": 1.8286,
"bb_edge": -1.3,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "673513",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1509,
"sample_weight": 0.45,
"run_prevention_factor": 0.9872,
"strikeout_factor": 1.0432,
"walk_factor": 1.0468,
"homer_factor": 1.0119,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673513",
"espn_id": 4142414,
"player_name": "Yuki Matsui",
"team": "SD",
"role": "pitcher",
"espn_rank": 118,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 118,
"gp_value": 22.0,
"gp_rank": 203,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.0322,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 2.0,
"hld_rank": 178,
"ip_value": 31.0,
"ip_rank": 314,
"h_value": 20.0,
"h_rank": 394,
"er_value": 7.0,
"er_rank": 475,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 34.0,
"k_rank": 266,
"k_per_9_value": 9.870968,
"k_per_9_rank": 22.0,
"whip_value": 1.2258,
"whip_rank": null,
"war_value": 0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9942,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9942,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0211,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0054,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0194,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.1,
"ER": 4,
"H": 11,
"BB": 9,
"SO": 14,
"HR": 2,
"ERA": 2.918918918918919,
"WHIP": 1.6216216216216215,
"K9": 10.216216216216216,
"HR9": 1.4594594594594594,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "673513",
"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.148,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5515,
"prior_weight": 0.4485
},
"role": "pitcher",
"player_id": "673513",
"report_date": "20260706_A",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 6.0,
"SO": 6.0,
"HR": 1.0,
"BF": 32.0,
"Pitches": 117.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.6,
"H": 1.4,
"BB": 1.2,
"SO": 1.2,
"HR": 0.2,
"BF": 6.4,
"Pitches": 23.4
},
"rates": {
"ERA": 4.2632,
"WHIP": 2.0526,
"ER_per_IP": 0.47368,
"H_per_IP": 1.10526,
"BB_per_IP": 0.94737,
"SO_per_IP": 0.94737,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 4.0,
"R": 5.0,
"H": 11.0,
"BB": 9.0,
"SO": 14.0,
"HR": 2.0,
"BF": 56.0,
"Pitches": 219.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.5,
"H": 1.1,
"BB": 0.9,
"SO": 1.4,
"HR": 0.2,
"BF": 5.6,
"Pitches": 21.9
},
"rates": {
"ERA": 2.9189,
"WHIP": 1.6216,
"ER_per_IP": 0.32432,
"H_per_IP": 0.89189,
"BB_per_IP": 0.72973,
"SO_per_IP": 1.13514,
"HR_per_IP": 0.16216
}
},
"season": {
"games": 22,
"totals": {
"IP": 31.0,
"ER": 7.0,
"R": 8.0,
"H": 20.0,
"BB": 18.0,
"SO": 34.0,
"HR": 4.0,
"BF": 128.0,
"Pitches": 491.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3182,
"R": 0.3636,
"H": 0.9091,
"BB": 0.8182,
"SO": 1.5455,
"HR": 0.1818,
"BF": 5.8182,
"Pitches": 22.3182
},
"rates": {
"ERA": 2.0323,
"WHIP": 1.2258,
"ER_per_IP": 0.22581,
"H_per_IP": 0.64516,
"BB_per_IP": 0.58065,
"SO_per_IP": 1.09677,
"HR_per_IP": 0.12903
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.381,
"predicted_H": 0.843,
"predicted_BB": 0.531,
"predicted_SO": 0.888,
"predicted_HR": 0.134,
"predicted_ERA": 3.8803,
"predicted_WHIP": 1.5528
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5395,
"form_weight": 0.4605,
"form_reliability": 0.5515,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.148,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5515,
"prior_weight": 0.4485
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.381,
"final": 0.7149,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.843,
"final": 0.9277,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.531,
"final": 0.784,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.888,
"final": 0.9484,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.134,
"final": 0.0617,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8803,
"final": 3.8803,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5528,
"final": 1.5528,
"source": "form_only"
}
}
}{
"available": false,
"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.053 | 0.000 | 0.000 | Hitting_2B | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.380 | 4.000 | 3.000 | Hitting_AB | 3.236 | 2.000 | 0.764 | 2.000 |
| predicted_AVG | 0.240 | 0.000 | 0.333 | Hitting_AVG | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_BB | 0.395 | 0.000 | 0.000 | Hitting_BB | 0.472 | 0.000 | -0.472 | 0.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.528 | 0.000 | -0.528 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.333 | Hitting_OBP | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_R | 0.368 | 0.000 | 0.000 | Hitting_R | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_SLG | 0.348 | 0.000 | 0.333 | Hitting_SLG | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_SO | 0.816 | 1.000 | 1.000 | Hitting_SO | 0.748 | 2.000 | 0.252 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.3800 -> 4.0000 (boost 0.6200, better) |
| Biggest Deboost | predicted_H: 0.8100 -> 0.0000 (deboost -0.8100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.8160 -> 0.8808 (boost 0.0648, worse) | predicted_SLG: 0.3480 -> 0.3393 (deboost -0.0087, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3393 -> 0.3315 (deboost -0.0078, 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.7638 -> 1.0000 (boost 0.2362, better) | predicted_BB: 0.3527 -> 0.0000 (deboost -0.3527, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.226 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3382 -> 0.0000 (deboost -0.3382, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2279 -> 0.3330 (boost 0.1051, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2279 (deboost -0.1051, 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.053,
"predicted_3B": 0.0,
"predicted_AB": 3.38,
"predicted_AVG": 0.24,
"predicted_BB": 0.395,
"predicted_H": 0.81,
"predicted_HR": 0.1,
"predicted_OBP": 0.301,
"predicted_R": 0.368,
"predicted_RBI": 0.36,
"predicted_SLG": 0.348,
"predicted_SO": 0.816
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0542,
"predicted_3B": 0.0008,
"predicted_AB": 3.351,
"predicted_AVG": 0.2322,
"predicted_BB": 0.3553,
"predicted_H": 0.7774,
"predicted_HBP": 0.064,
"predicted_HR": 0.0988,
"predicted_OBP": 0.2998,
"predicted_R": 0.3485,
"predicted_RBI": 0.3429,
"predicted_SLG": 0.3393,
"predicted_SO": 0.8808
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.053,
"after": 0.0542,
"delta": 0.0012,
"percent_delta": 0.0226,
"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.38,
"after": 3.351,
"delta": -0.029,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2322,
"delta": -0.0078,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.3553,
"delta": -0.0397,
"percent_delta": -0.1005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.7774,
"delta": -0.0326,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0988,
"delta": -0.0012,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2998,
"delta": -0.0012,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.368,
"after": 0.3485,
"delta": -0.0195,
"percent_delta": -0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3429,
"delta": -0.0171,
"percent_delta": -0.0475,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3393,
"delta": -0.0087,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.816,
"after": 0.8808,
"delta": 0.0648,
"percent_delta": 0.0794,
"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.816,
"after": 0.8808,
"delta": 0.0648,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3393,
"delta": -0.0087,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0542,
"predicted_3B": 0.0008,
"predicted_AB": 3.351,
"predicted_AVG": 0.2279,
"predicted_BB": 0.3527,
"predicted_H": 0.7638,
"predicted_HBP": 0.064,
"predicted_HR": 0.0971,
"predicted_OBP": 0.3015,
"predicted_R": 0.3382,
"predicted_RBI": 0.3328,
"predicted_SLG": 0.3315,
"predicted_SO": 0.8872
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0542,
"after": 0.0542,
"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.351,
"after": 3.351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2322,
"after": 0.2279,
"delta": -0.0043,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3553,
"after": 0.3527,
"delta": -0.0026,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7774,
"after": 0.7638,
"delta": -0.0136,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0988,
"after": 0.0971,
"delta": -0.0017,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2998,
"after": 0.3015,
"delta": 0.0017,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3485,
"after": 0.3382,
"delta": -0.0103,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3429,
"after": 0.3328,
"delta": -0.0101,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3393,
"after": 0.3315,
"delta": -0.0078,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8808,
"after": 0.8872,
"delta": 0.0064,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3393,
"after": 0.3315,
"delta": -0.0078,
"percent_delta": -0.023,
"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.226 HR/AB=0.029",
"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.0542,
"after": 0.0,
"delta": -0.0542,
"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.351,
"after": 3.0,
"delta": -0.351,
"percent_delta": -0.1047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3527,
"after": 0.0,
"delta": -0.3527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7638,
"after": 1.0,
"delta": 0.2362,
"percent_delta": 0.3092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0971,
"after": 0.0,
"delta": -0.0971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3328,
"after": 0.0,
"delta": -0.3328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8872,
"after": 1.0,
"delta": 0.1128,
"percent_delta": 0.1271,
"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.7638,
"after": 1.0,
"delta": 0.2362,
"percent_delta": 0.3092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3527,
"after": 0.0,
"delta": -0.3527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3382,
"after": 0.0,
"delta": -0.3382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3382,
"after": 0.0,
"delta": -0.3382,
"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.2279,
"after": 0.333,
"delta": 0.1051,
"percent_delta": 0.4612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3015,
"after": 0.333,
"delta": 0.0315,
"percent_delta": 0.1045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3315,
"after": 0.333,
"delta": 0.0015,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2279,
"after": 0.333,
"delta": 0.1051,
"percent_delta": 0.4612,
"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.2279,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3015,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3315,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2279,
"delta": -0.1051,
"percent_delta": -0.3155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3015,
"delta": -0.0315,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3315,
"delta": -0.0015,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2279,
"delta": -0.1051,
"percent_delta": -0.3155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.38,
"after": 4.0,
"delta": 0.62,
"percent_delta": 0.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2279,
"delta": -0.0121,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3015,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3315,
"delta": -0.0165,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.816,
"after": 1.0,
"delta": 0.184,
"percent_delta": 0.2255,
"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.38,
"after": 4.0,
"delta": 0.62,
"percent_delta": 0.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.053 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.380 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.395 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.368 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 0.816 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.054 | 0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.351 | -0.029 |
| predicted_AVG | 0.232 | -0.008 |
| predicted_BB | 0.355 | -0.040 |
| predicted_H | 0.777 | -0.033 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.099 | -0.001 |
| predicted_OBP | 0.300 | -0.001 |
| predicted_R | 0.348 | -0.020 |
| predicted_RBI | 0.343 | -0.017 |
| predicted_SLG | 0.339 | -0.009 |
| predicted_SO | 0.881 | 0.065 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.054 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.351 | 0.000 |
| predicted_AVG | 0.228 | -0.004 |
| predicted_BB | 0.353 | -0.003 |
| predicted_H | 0.764 | -0.014 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.097 | -0.002 |
| predicted_OBP | 0.301 | 0.002 |
| predicted_R | 0.338 | -0.010 |
| predicted_RBI | 0.333 | -0.010 |
| predicted_SLG | 0.332 | -0.008 |
| predicted_SO | 0.887 | 0.006 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.226 HR/AB=0.029
| 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.054 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.351 |
| predicted_AVG | 0.333 | 0.105 |
| predicted_BB | 0.000 | -0.353 |
| predicted_H | 1.000 | 0.236 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.333 | 0.032 |
| predicted_R | 0.000 | -0.338 |
| predicted_RBI | 0.000 | -0.333 |
| predicted_SLG | 0.333 | 0.002 |
| predicted_SO | 1.000 | 0.113 |
Attached simulation box 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 | - | 18.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 8.000 | 0.3333 | 0.3684 | 0.5000 | 0.3333 | 0.0556 | 0.1667 | 0.0556 | 0.4444 |
| last_10 | 0.20 | 10 | - | 30.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 10.000 | 0.2333 | 0.2812 | 0.3333 | 0.2333 | 0.0333 | 0.1000 | 0.0333 | 0.3333 |
| season | 0.60 | 38 | - | 119.000 | 20.000 | 2.000 | 0.000 | 2.000 | 7.000 | 14.000 | 15.000 | 31.000 | 0.1681 | 0.2774 | 0.2353 | 0.1681 | 0.0168 | 0.0588 | 0.1260 | 0.2605 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0560 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3070 |
| predicted_AVG | 0.2203 |
| predicted_BB | 0.2950 |
| predicted_H | 0.7280 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.2981 |
| predicted_R | 0.3190 |
| predicted_RBI | 0.3170 |
| predicted_SLG | 0.3261 |
| predicted_SO | 0.9790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0530 | 0.0560 | 0.0542 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3800 | 3.3070 | 3.3510 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2203 | 0.2322 | model_form_blend |
| predicted_BB | 0.3950 | 0.2950 | 0.3553 | model_form_blend |
| predicted_H | 0.8100 | 0.7280 | 0.7774 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.1000 | 0.0970 | 0.0988 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2981 | 0.2998 | model_form_blend |
| predicted_R | 0.3680 | 0.3190 | 0.3485 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3170 | 0.3429 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3261 | 0.3393 | model_form_blend |
| predicted_SO | 0.8160 | 0.9790 | 0.8808 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.168 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20260705_SD@LAD |
| game_type | full |
| mlbID | 630105 |
| playerID | 630105 |
| playerName | Jake Cronenworth |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.245 |
| sl_xwoba | 0.296 |
| sl_xba | 0.218 |
| sl_xslg | 0.327 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 30.3 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 7.7 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.207 | 0.000 | 0.000 | Hitting_2B | 0.156 | 1.000 | -0.156 | -1.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 4.400 | 4.000 | 4.000 | Hitting_AB | 3.882 | 5.000 | 0.118 | -1.000 |
| predicted_AVG | 0.254 | 0.250 | 0.250 | Hitting_AVG | 0.269 | 0.600 | -0.019 | -0.350 |
| predicted_BB | 0.368 | 0.000 | 0.000 | Hitting_BB | 0.424 | 0.000 | -0.424 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_H | 1.120 | 1.000 | 1.000 | Hitting_H | 1.046 | 3.000 | -0.046 | -2.000 |
| predicted_HR | 0.110 | 1.000 | 0.000 | Hitting_HR | 0.019 | 0.000 | 0.981 | 1.000 |
| predicted_OBP | 0.331 | 0.250 | 0.250 | Hitting_OBP | 0.341 | 0.600 | -0.091 | -0.350 |
| predicted_R | 0.471 | 1.000 | 0.000 | Hitting_R | 0.408 | 1.000 | 0.592 | 0.000 |
| predicted_RBI | 0.430 | 1.000 | 0.000 | Hitting_RBI | 0.332 | 1.000 | 0.668 | 0.000 |
| predicted_SLG | 0.415 | 1.000 | 0.250 | Hitting_SLG | 0.332 | 0.800 | 0.668 | 0.200 |
| predicted_SO | 0.908 | 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 | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.9080 -> 2.0000 (boost 1.0920, worse) |
| Biggest Deboost | predicted_AB: 4.4000 -> 4.0000 (deboost -0.4000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2540 -> 0.2663 (boost 0.0123, better) | predicted_AB: 4.4000 -> 4.2696 (deboost -0.1304, worse) | Final model input calibrated with local 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.4165 -> 0.3909 (deboost -0.0256, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 0.4023 -> 0.0000 (deboost -0.4023, worse) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.254 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4924 -> 0.0000 (deboost -0.4924, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3909 -> 0.2500 (deboost -0.1409, 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_HR: 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.3909 (boost 0.1409, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.207,
"predicted_3B": 0.011,
"predicted_AB": 4.4,
"predicted_AVG": 0.254,
"predicted_BB": 0.368,
"predicted_H": 1.12,
"predicted_HR": 0.11,
"predicted_OBP": 0.331,
"predicted_R": 0.471,
"predicted_RBI": 0.43,
"predicted_SLG": 0.415,
"predicted_SO": 0.908
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2507,
"predicted_3B": 0.0097,
"predicted_AB": 4.2696,
"predicted_AVG": 0.2663,
"predicted_BB": 0.3556,
"predicted_H": 1.1363,
"predicted_HBP": 0.039,
"predicted_HR": 0.0958,
"predicted_OBP": 0.3354,
"predicted_R": 0.5074,
"predicted_RBI": 0.4146,
"predicted_SLG": 0.4165,
"predicted_SO": 0.9436
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.2507,
"delta": 0.0437,
"percent_delta": 0.2111,
"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": 4.4,
"after": 4.2696,
"delta": -0.1304,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2663,
"delta": 0.0123,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.3556,
"delta": -0.0124,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1363,
"delta": 0.0163,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0958,
"delta": -0.0142,
"percent_delta": -0.1291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3354,
"delta": 0.0044,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.5074,
"delta": 0.0364,
"percent_delta": 0.0773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4146,
"delta": -0.0154,
"percent_delta": -0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4165,
"delta": 0.0015,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.908,
"after": 0.9436,
"delta": 0.0356,
"percent_delta": 0.0392,
"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.254,
"after": 0.2663,
"delta": 0.0123,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.2696,
"delta": -0.1304,
"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": 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.2507,
"predicted_3B": 0.0097,
"predicted_AB": 4.2696,
"predicted_AVG": 0.2615,
"predicted_BB": 0.353,
"predicted_H": 1.1164,
"predicted_HBP": 0.039,
"predicted_HR": 0.0941,
"predicted_OBP": 0.3179,
"predicted_R": 0.4924,
"predicted_RBI": 0.4023,
"predicted_SLG": 0.3909,
"predicted_SO": 0.9505
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2507,
"after": 0.2507,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2696,
"after": 4.2696,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2663,
"after": 0.2615,
"delta": -0.0048,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3556,
"after": 0.353,
"delta": -0.0026,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1363,
"after": 1.1164,
"delta": -0.0199,
"percent_delta": -0.0175,
"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.0958,
"after": 0.0941,
"delta": -0.0017,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3354,
"after": 0.3179,
"delta": -0.0175,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5074,
"after": 0.4924,
"delta": -0.015,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4146,
"after": 0.4023,
"delta": -0.0123,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4165,
"after": 0.3909,
"delta": -0.0256,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9436,
"after": 0.9505,
"delta": 0.0069,
"percent_delta": 0.0073,
"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.4165,
"after": 0.3909,
"delta": -0.0256,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.254 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.2507,
"after": 0.0,
"delta": -0.2507,
"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": 4.2696,
"after": 4.0,
"delta": -0.2696,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1164,
"after": 1.0,
"delta": -0.1164,
"percent_delta": -0.1043,
"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.0941,
"after": 0.0,
"delta": -0.0941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4023,
"after": 0.0,
"delta": -0.4023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9505,
"after": 1.0,
"delta": 0.0495,
"percent_delta": 0.0521,
"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.4023,
"after": 0.0,
"delta": -0.4023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4924,
"after": 0.0,
"delta": -0.4924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4924,
"after": 0.0,
"delta": -0.4924,
"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.2615,
"after": 0.25,
"delta": -0.0115,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3179,
"after": 0.25,
"delta": -0.0679,
"percent_delta": -0.2136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3909,
"after": 0.25,
"delta": -0.1409,
"percent_delta": -0.3605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3909,
"after": 0.25,
"delta": -0.1409,
"percent_delta": -0.3605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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": 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_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2615,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3179,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3909,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2615,
"delta": 0.0115,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3179,
"delta": 0.0679,
"percent_delta": 0.2715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3909,
"delta": 0.1409,
"percent_delta": 0.5635,
"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.3909,
"delta": 0.1409,
"percent_delta": 0.5635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0,
"delta": -0.4,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2615,
"delta": 0.0075,
"percent_delta": 0.0295,
"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": 1.12,
"after": 1.0,
"delta": -0.12,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3179,
"delta": -0.0131,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 1.0,
"delta": 0.57,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.3909,
"delta": -0.0241,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.908,
"after": 2.0,
"delta": 1.092,
"percent_delta": 1.2026,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.908,
"after": 2.0,
"delta": 1.092,
"percent_delta": 1.2026,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0,
"delta": -0.4,
"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.207 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.415 | - |
| predicted_SO | 0.908 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.251 | 0.044 |
| predicted_3B | 0.010 | -0.001 |
| predicted_AB | 4.270 | -0.130 |
| predicted_AVG | 0.266 | 0.012 |
| predicted_BB | 0.356 | -0.012 |
| predicted_H | 1.136 | 0.016 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.096 | -0.014 |
| predicted_OBP | 0.335 | 0.004 |
| predicted_R | 0.507 | 0.036 |
| predicted_RBI | 0.415 | -0.015 |
| predicted_SLG | 0.416 | 0.002 |
| predicted_SO | 0.944 | 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.251 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.270 | 0.000 |
| predicted_AVG | 0.262 | -0.005 |
| predicted_BB | 0.353 | -0.003 |
| predicted_H | 1.116 | -0.020 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.094 | -0.002 |
| predicted_OBP | 0.318 | -0.017 |
| predicted_R | 0.492 | -0.015 |
| predicted_RBI | 0.402 | -0.012 |
| predicted_SLG | 0.391 | -0.026 |
| predicted_SO | 0.951 | 0.007 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.254 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.251 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.270 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.000 | -0.353 |
| predicted_H | 1.000 | -0.116 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.250 | -0.068 |
| predicted_R | 0.000 | -0.492 |
| predicted_RBI | 0.000 | -0.402 |
| predicted_SLG | 0.250 | -0.141 |
| 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 | 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 | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 6.000 | 0.2857 | 0.3478 | 0.4286 | 0.2857 | 0.0000 | 0.0476 | 0.0952 | 0.2857 |
| last_10 | 0.20 | 10 | - | 45.000 | 13.000 | 4.000 | 0.000 | 2.000 | 6.000 | 6.000 | 2.000 | 11.000 | 0.2889 | 0.3333 | 0.5111 | 0.2889 | 0.0444 | 0.1333 | 0.0444 | 0.2444 |
| season | 0.60 | 87 | - | 345.000 | 98.000 | 18.000 | 1.000 | 5.000 | 33.000 | 41.000 | 32.000 | 79.000 | 0.2841 | 0.3464 | 0.3855 | 0.2841 | 0.0145 | 0.0956 | 0.0927 | 0.2290 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3090 |
| predicted_3B | 0.0080 |
| predicted_AB | 4.0960 |
| predicted_AVG | 0.2827 |
| predicted_BB | 0.3390 |
| predicted_H | 1.1580 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.3413 |
| predicted_R | 0.5560 |
| predicted_RBI | 0.3940 |
| predicted_SLG | 0.4185 |
| predicted_SO | 0.9910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2070 | 0.3090 | 0.2507 | model_form_blend |
| predicted_3B | 0.0110 | 0.0080 | 0.0097 | model_form_blend |
| predicted_AB | 4.4000 | 4.0960 | 4.2696 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2827 | 0.2663 | model_form_blend |
| predicted_BB | 0.3680 | 0.3390 | 0.3556 | model_form_blend |
| predicted_H | 1.1200 | 1.1580 | 1.1363 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1100 | 0.0770 | 0.0958 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3413 | 0.3354 | model_form_blend |
| predicted_R | 0.4710 | 0.5560 | 0.5074 | model_form_blend |
| predicted_RBI | 0.4300 | 0.3940 | 0.4146 | model_form_blend |
| predicted_SLG | 0.4150 | 0.4185 | 0.4165 | model_form_blend |
| predicted_SO | 0.9080 | 0.9910 | 0.9436 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 262 |
| Season rows before report date | 262 |
| 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 | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.284 |
| 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 | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260705_SD@LAD |
| 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-05 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.324 |
| sl_xwoba | 0.352 |
| sl_xba | 0.286 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 52.9 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 4.7 |
| sl_whiff_percent | 28.6 |
| 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.184 | 0.000 | 0.000 | Hitting_2B | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.010 | 3.000 | 4.000 | Hitting_AB | 3.629 | 2.000 | -0.629 | 1.000 |
| predicted_AVG | 0.223 | 0.000 | 0.250 | Hitting_AVG | 0.180 | 0.500 | -0.180 | -0.500 |
| predicted_BB | 0.494 | 1.000 | 1.000 | Hitting_BB | 0.494 | 3.000 | 0.506 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.653 | 1.000 | -0.653 | -1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.191 | 1.000 | -0.191 | -1.000 |
| predicted_OBP | 0.322 | 0.250 | 0.400 | Hitting_OBP | 0.273 | 0.800 | -0.023 | -0.550 |
| predicted_R | 0.506 | 0.000 | 1.000 | Hitting_R | 0.538 | 2.000 | -0.538 | -2.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.570 | 3.000 | -0.570 | -3.000 |
| predicted_SLG | 0.457 | 0.000 | 0.250 | Hitting_SLG | 0.373 | 2.000 | -0.373 | -2.000 |
| predicted_SO | 0.943 | 2.000 | 1.000 | Hitting_SO | 0.964 | 0.000 | 1.036 | 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.9430 -> 2.0000 (boost 1.0570, worse) |
| Biggest Deboost | predicted_AB: 4.0100 -> 3.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_BB: 0.4940 -> 0.5826 (boost 0.0886, better) | predicted_AB: 4.0100 -> 3.8042 (deboost -0.2058, worse) | Final model input calibrated with local 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.4750 -> 0.4562 (deboost -0.0188, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 4 | 2 | predicted_BB: 0.5783 -> 1.0000 (boost 0.4217, better) | predicted_HR: 0.2466 -> 0.0000 (deboost -0.2466, worse) | AB rounded to 4 (raw=4.01), rates preserved: AVG=0.199 HR/AB=0.061 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=39.0, weight=0.226, BvP AVG=0.154) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5317 -> 1.0000 (boost 0.4683, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3144 -> 0.4000 (boost 0.0856, better) | predicted_SLG: 0.4562 -> 0.2500 (deboost -0.2062, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 4.0000 -> 3.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.4562 (boost 0.2062, better) | predicted_OBP: 0.4000 -> 0.3144 (deboost -0.0856, 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.184,
"predicted_3B": 0.0,
"predicted_AB": 4.01,
"predicted_AVG": 0.223,
"predicted_BB": 0.494,
"predicted_H": 0.89,
"predicted_HR": 0.23,
"predicted_OBP": 0.322,
"predicted_R": 0.506,
"predicted_RBI": 0.68,
"predicted_SLG": 0.457,
"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.1951,
"predicted_3B": 0.0004,
"predicted_AB": 3.8042,
"predicted_AVG": 0.214,
"predicted_BB": 0.5826,
"predicted_H": 0.8139,
"predicted_HBP": 0.002,
"predicted_HR": 0.251,
"predicted_OBP": 0.3247,
"predicted_R": 0.5479,
"predicted_RBI": 0.6911,
"predicted_SLG": 0.475,
"predicted_SO": 0.9858
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.1951,
"delta": 0.0111,
"percent_delta": 0.0603,
"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.01,
"after": 3.8042,
"delta": -0.2058,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.214,
"delta": -0.009,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.494,
"after": 0.5826,
"delta": 0.0886,
"percent_delta": 0.1794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8139,
"delta": -0.0761,
"percent_delta": -0.0855,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.251,
"delta": 0.021,
"percent_delta": 0.0913,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3247,
"delta": 0.0027,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.506,
"after": 0.5479,
"delta": 0.0419,
"percent_delta": 0.0828,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.6911,
"delta": 0.0111,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.475,
"delta": 0.018,
"percent_delta": 0.0394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 0.9858,
"delta": 0.0428,
"percent_delta": 0.0454,
"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_BB",
"before": 0.494,
"after": 0.5826,
"delta": 0.0886,
"percent_delta": 0.1794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 3.8042,
"delta": -0.2058,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1951,
"predicted_3B": 0.0004,
"predicted_AB": 3.8042,
"predicted_AVG": 0.2102,
"predicted_BB": 0.5783,
"predicted_H": 0.7997,
"predicted_HBP": 0.002,
"predicted_HR": 0.2466,
"predicted_OBP": 0.3144,
"predicted_R": 0.5317,
"predicted_RBI": 0.6706,
"predicted_SLG": 0.4562,
"predicted_SO": 0.993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1951,
"after": 0.1951,
"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.8042,
"after": 3.8042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2102,
"delta": -0.0038,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5826,
"after": 0.5783,
"delta": -0.0043,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8139,
"after": 0.7997,
"delta": -0.0142,
"percent_delta": -0.0174,
"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.251,
"after": 0.2466,
"delta": -0.0044,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3247,
"after": 0.3144,
"delta": -0.0103,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5479,
"after": 0.5317,
"delta": -0.0162,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6911,
"after": 0.6706,
"delta": -0.0205,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4562,
"delta": -0.0188,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9858,
"after": 0.993,
"delta": 0.0072,
"percent_delta": 0.0073,
"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.475,
"after": 0.4562,
"delta": -0.0188,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.01), rates preserved: AVG=0.199 HR/AB=0.061",
"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.1951,
"after": 0.0,
"delta": -0.1951,
"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.8042,
"after": 4.0,
"delta": 0.1958,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5783,
"after": 1.0,
"delta": 0.4217,
"percent_delta": 0.7292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7997,
"after": 1.0,
"delta": 0.2003,
"percent_delta": 0.2505,
"direction": "boost",
"projection_effect": "better",
"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.2466,
"after": 0.0,
"delta": -0.2466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6706,
"after": 1.0,
"delta": 0.3294,
"percent_delta": 0.4912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.993,
"after": 1.0,
"delta": 0.007,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5783,
"after": 1.0,
"delta": 0.4217,
"percent_delta": 0.7292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2466,
"after": 0.0,
"delta": -0.2466,
"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=39.0, weight=0.226, BvP AVG=0.154)",
"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.7739,
"bvp": 0.2261
},
"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.5317,
"after": 1.0,
"delta": 0.4683,
"percent_delta": 0.8808,
"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.5317,
"after": 1.0,
"delta": 0.4683,
"percent_delta": 0.8808,
"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.2102,
"after": 0.25,
"delta": 0.0398,
"percent_delta": 0.1893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3144,
"after": 0.4,
"delta": 0.0856,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4562,
"after": 0.25,
"delta": -0.2062,
"percent_delta": -0.452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3144,
"after": 0.4,
"delta": 0.0856,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4562,
"after": 0.25,
"delta": -0.2062,
"percent_delta": -0.452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2102,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3144,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4562,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2102,
"delta": -0.0398,
"percent_delta": -0.1592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3144,
"delta": -0.0856,
"percent_delta": -0.2139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4562,
"delta": 0.2062,
"percent_delta": 0.8247,
"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.4562,
"delta": 0.2062,
"percent_delta": 0.8247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3144,
"delta": -0.0856,
"percent_delta": -0.2139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.0,
"delta": -0.184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 3.0,
"delta": -1.01,
"percent_delta": -0.2519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2102,
"delta": -0.0128,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.494,
"after": 1.0,
"delta": 0.506,
"percent_delta": 1.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3144,
"delta": -0.0076,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4562,
"delta": -0.0008,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 2.0,
"delta": 1.057,
"percent_delta": 1.1209,
"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.943,
"after": 2.0,
"delta": 1.057,
"percent_delta": 1.1209,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 3.0,
"delta": -1.01,
"percent_delta": -0.2519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.010 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.494 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.506 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.457 | - |
| 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.195 | 0.011 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.804 | -0.206 |
| predicted_AVG | 0.214 | -0.009 |
| predicted_BB | 0.583 | 0.089 |
| predicted_H | 0.814 | -0.076 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.251 | 0.021 |
| predicted_OBP | 0.325 | 0.003 |
| predicted_R | 0.548 | 0.042 |
| predicted_RBI | 0.691 | 0.011 |
| predicted_SLG | 0.475 | 0.018 |
| predicted_SO | 0.986 | 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.195 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.804 | 0.000 |
| predicted_AVG | 0.210 | -0.004 |
| predicted_BB | 0.578 | -0.004 |
| predicted_H | 0.800 | -0.014 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.247 | -0.004 |
| predicted_OBP | 0.314 | -0.010 |
| predicted_R | 0.532 | -0.016 |
| predicted_RBI | 0.671 | -0.021 |
| predicted_SLG | 0.456 | -0.019 |
| predicted_SO | 0.993 | 0.007 |
AB rounded to 4 (raw=4.01), rates preserved: AVG=0.199 HR/AB=0.061
| 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=39.0, weight=0.226, BvP AVG=0.154)
| 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.195 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.196 |
| predicted_AVG | 0.250 | 0.040 |
| predicted_BB | 1.000 | 0.422 |
| predicted_H | 1.000 | 0.200 |
| predicted_HR | 0.000 | -0.247 |
| predicted_OBP | 0.400 | 0.086 |
| predicted_R | 1.000 | 0.468 |
| predicted_RBI | 1.000 | 0.329 |
| predicted_SLG | 0.250 | -0.206 |
| predicted_SO | 1.000 | 0.007 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 1.000 | 0.000 | 2.000 | 5.000 | 4.000 | 6.000 | 7.000 | 0.1875 | 0.4091 | 0.6250 | 0.1875 | 0.1250 | 0.3125 | 0.3750 | 0.4375 |
| last_10 | 0.20 | 10 | - | 34.000 | 8.000 | 3.000 | 0.000 | 4.000 | 8.000 | 7.000 | 9.000 | 10.000 | 0.2353 | 0.3953 | 0.6765 | 0.2353 | 0.1177 | 0.2353 | 0.2647 | 0.2941 |
| season | 0.60 | 87 | - | 317.000 | 60.000 | 16.000 | 0.000 | 18.000 | 51.000 | 44.000 | 43.000 | 82.000 | 0.1893 | 0.2822 | 0.4101 | 0.1893 | 0.0568 | 0.1609 | 0.1356 | 0.2587 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2100 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5290 |
| predicted_AVG | 0.2019 |
| predicted_BB | 0.7010 |
| predicted_H | 0.7120 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.2790 |
| predicted_OBP | 0.3284 |
| predicted_R | 0.6040 |
| predicted_RBI | 0.7060 |
| predicted_SLG | 0.4990 |
| predicted_SO | 1.0430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.2100 | 0.1951 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0100 | 3.5290 | 3.8042 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2019 | 0.2140 | model_form_blend |
| predicted_BB | 0.4940 | 0.7010 | 0.5826 | model_form_blend |
| predicted_H | 0.8900 | 0.7120 | 0.8139 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.2300 | 0.2790 | 0.2510 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3284 | 0.3247 | model_form_blend |
| predicted_R | 0.5060 | 0.6040 | 0.5479 | model_form_blend |
| predicted_RBI | 0.6800 | 0.7060 | 0.6911 | model_form_blend |
| predicted_SLG | 0.4570 | 0.4990 | 0.4750 | model_form_blend |
| predicted_SO | 0.9430 | 1.0430 | 0.9858 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.189 |
| 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 | 3 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 1 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| 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 | 3B |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 592518 |
| playerID | 592518 |
| playerName | Manny Machado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.299 |
| sl_xwoba | 0.319 |
| sl_xba | 0.228 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 26.9 |
| 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.183 | 0.000 | 0.000 | Hitting_2B | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.320 | 4.000 | 3.000 | Hitting_AB | 3.350 | 5.000 | 0.650 | -1.000 |
| predicted_AVG | 0.257 | 0.250 | 0.333 | Hitting_AVG | 0.246 | 0.200 | 0.004 | 0.050 |
| predicted_BB | 0.378 | 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.850 | 1.000 | 1.000 | Hitting_H | 0.823 | 1.000 | 0.177 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_OBP | 0.341 | 0.250 | 0.333 | Hitting_OBP | 0.329 | 0.200 | -0.079 | 0.050 |
| predicted_R | 0.390 | 0.000 | 0.000 | Hitting_R | 0.419 | 0.000 | -0.419 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.498 | 0.000 | -0.498 | 0.000 |
| predicted_SLG | 0.439 | 0.250 | 0.333 | Hitting_SLG | 0.475 | 0.200 | -0.225 | 0.050 |
| predicted_SO | 0.793 | 1.000 | 1.000 | Hitting_SO | 0.813 | 0.000 | 0.187 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.3200 -> 4.0000 (boost 0.6800, better) |
| Biggest Deboost | predicted_RBI: 0.4600 -> 0.0000 (deboost -0.4600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 3 | 0 | predicted_SLG: 0.4390 -> 0.4487 (boost 0.0097, better) | predicted_SO: 0.7930 -> 0.7372 (deboost -0.0558, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3468 -> 0.3319 (deboost -0.0149, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7426 -> 1.0000 (boost 0.2574, worse) | predicted_RBI: 0.4451 -> 0.0000 (deboost -0.4451, worse) | AB rounded to 3 (raw=3.32), rates preserved: AVG=0.252 HR/AB=0.040 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3493 -> 0.0000 (deboost -0.3493, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2532 -> 0.3330 (boost 0.0798, better) | predicted_SLG: 0.4358 -> 0.3330 (deboost -0.1028, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4358 (boost 0.1028, better) | predicted_AVG: 0.3330 -> 0.2532 (deboost -0.0798, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657757",
"player_name": "Gavin Sheets",
"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.183,
"predicted_3B": 0.0,
"predicted_AB": 3.32,
"predicted_AVG": 0.257,
"predicted_BB": 0.378,
"predicted_H": 0.85,
"predicted_HR": 0.13,
"predicted_OBP": 0.341,
"predicted_R": 0.39,
"predicted_RBI": 0.46,
"predicted_SLG": 0.439,
"predicted_SO": 0.793
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1999,
"predicted_3B": 0.0004,
"predicted_AB": 3.3065,
"predicted_AVG": 0.2583,
"predicted_BB": 0.3924,
"predicted_H": 0.8521,
"predicted_HBP": 0.076,
"predicted_HR": 0.1368,
"predicted_OBP": 0.3468,
"predicted_R": 0.36,
"predicted_RBI": 0.4587,
"predicted_SLG": 0.4487,
"predicted_SO": 0.7372
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.1999,
"delta": 0.0169,
"percent_delta": 0.0923,
"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.32,
"after": 3.3065,
"delta": -0.0135,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2583,
"delta": 0.0013,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.3924,
"delta": 0.0144,
"percent_delta": 0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8521,
"delta": 0.0021,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1368,
"delta": 0.0068,
"percent_delta": 0.0523,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3468,
"delta": 0.0058,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.36,
"delta": -0.03,
"percent_delta": -0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4587,
"delta": -0.0013,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4487,
"delta": 0.0097,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.793,
"after": 0.7372,
"delta": -0.0558,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4487,
"delta": 0.0097,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.793,
"after": 0.7372,
"delta": -0.0558,
"percent_delta": -0.0704,
"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": 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.1999,
"predicted_3B": 0.0004,
"predicted_AB": 3.3065,
"predicted_AVG": 0.2532,
"predicted_BB": 0.3895,
"predicted_H": 0.8372,
"predicted_HBP": 0.076,
"predicted_HR": 0.1344,
"predicted_OBP": 0.3319,
"predicted_R": 0.3493,
"predicted_RBI": 0.4451,
"predicted_SLG": 0.4358,
"predicted_SO": 0.7426
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1999,
"after": 0.1999,
"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.3065,
"after": 3.3065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2583,
"after": 0.2532,
"delta": -0.0051,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3924,
"after": 0.3895,
"delta": -0.0029,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8521,
"after": 0.8372,
"delta": -0.0149,
"percent_delta": -0.0175,
"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.1368,
"after": 0.1344,
"delta": -0.0024,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3468,
"after": 0.3319,
"delta": -0.0149,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.36,
"after": 0.3493,
"delta": -0.0107,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4587,
"after": 0.4451,
"delta": -0.0136,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4487,
"after": 0.4358,
"delta": -0.0129,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7372,
"after": 0.7426,
"delta": 0.0054,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3468,
"after": 0.3319,
"delta": -0.0149,
"percent_delta": -0.043,
"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.252 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.1999,
"after": 0.0,
"delta": -0.1999,
"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.3065,
"after": 3.0,
"delta": -0.3065,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3895,
"after": 0.0,
"delta": -0.3895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8372,
"after": 1.0,
"delta": 0.1628,
"percent_delta": 0.1945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1344,
"after": 0.0,
"delta": -0.1344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4451,
"after": 0.0,
"delta": -0.4451,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7426,
"after": 1.0,
"delta": 0.2574,
"percent_delta": 0.3466,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7426,
"after": 1.0,
"delta": 0.2574,
"percent_delta": 0.3466,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4451,
"after": 0.0,
"delta": -0.4451,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3493,
"after": 0.0,
"delta": -0.3493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3493,
"after": 0.0,
"delta": -0.3493,
"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.2532,
"after": 0.333,
"delta": 0.0798,
"percent_delta": 0.3152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3319,
"after": 0.333,
"delta": 0.0011,
"percent_delta": 0.0033,
"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.4358,
"after": 0.333,
"delta": -0.1028,
"percent_delta": -0.2359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.2532,
"after": 0.333,
"delta": 0.0798,
"percent_delta": 0.3152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4358,
"after": 0.333,
"delta": -0.1028,
"percent_delta": -0.2359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.2532,
"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.3319,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4358,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2532,
"delta": -0.0798,
"percent_delta": -0.2397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3319,
"delta": -0.0011,
"percent_delta": -0.0033,
"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.4358,
"delta": 0.1028,
"percent_delta": 0.3088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4358,
"delta": 0.1028,
"percent_delta": 0.3088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2532,
"delta": -0.0798,
"percent_delta": -0.2397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 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": 3.32,
"after": 4.0,
"delta": 0.68,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2532,
"delta": -0.0038,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3319,
"delta": -0.0091,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4358,
"delta": -0.0032,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.793,
"after": 1.0,
"delta": 0.207,
"percent_delta": 0.261,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.32,
"after": 4.0,
"delta": 0.68,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.320 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.378 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.390 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 0.793 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.307 | -0.013 |
| predicted_AVG | 0.258 | 0.001 |
| predicted_BB | 0.392 | 0.014 |
| predicted_H | 0.852 | 0.002 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.137 | 0.007 |
| predicted_OBP | 0.347 | 0.006 |
| predicted_R | 0.360 | -0.030 |
| predicted_RBI | 0.459 | -0.001 |
| predicted_SLG | 0.449 | 0.010 |
| predicted_SO | 0.737 | -0.056 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.307 | 0.000 |
| predicted_AVG | 0.253 | -0.005 |
| predicted_BB | 0.390 | -0.003 |
| predicted_H | 0.837 | -0.015 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.134 | -0.002 |
| predicted_OBP | 0.332 | -0.015 |
| predicted_R | 0.349 | -0.011 |
| predicted_RBI | 0.445 | -0.014 |
| predicted_SLG | 0.436 | -0.013 |
| predicted_SO | 0.743 | 0.005 |
AB rounded to 3 (raw=3.32), rates preserved: AVG=0.252 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=6.0, weight=0.067, BvP AVG=0.500)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.200 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.307 |
| predicted_AVG | 0.333 | 0.080 |
| predicted_BB | 0.000 | -0.390 |
| predicted_H | 1.000 | 0.163 |
| predicted_HR | 0.000 | -0.134 |
| predicted_OBP | 0.333 | 0.001 |
| predicted_R | 0.000 | -0.349 |
| predicted_RBI | 0.000 | -0.445 |
| predicted_SLG | 0.333 | -0.103 |
| predicted_SO | 1.000 | 0.257 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 2.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 2.000 | 0.2778 | 0.4091 | 0.3889 | 0.2778 | 0.0000 | 0.0556 | 0.1667 | 0.1111 |
| last_10 | 0.20 | 10 | - | 31.000 | 10.000 | 2.000 | 0.000 | 2.000 | 6.000 | 3.000 | 4.000 | 4.000 | 0.3226 | 0.4167 | 0.5806 | 0.3226 | 0.0645 | 0.1935 | 0.1290 | 0.1290 |
| season | 0.60 | 82 | - | 259.000 | 61.000 | 15.000 | 0.000 | 14.000 | 39.000 | 32.000 | 31.000 | 65.000 | 0.2355 | 0.3242 | 0.4556 | 0.2355 | 0.0541 | 0.1506 | 0.1197 | 0.2510 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2230 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2880 |
| predicted_AVG | 0.2601 |
| predicted_BB | 0.4120 |
| predicted_H | 0.8550 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.1460 |
| predicted_OBP | 0.3547 |
| predicted_R | 0.3190 |
| predicted_RBI | 0.4570 |
| predicted_SLG | 0.4619 |
| predicted_SO | 0.6610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.2230 | 0.1999 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3200 | 3.2880 | 3.3065 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2601 | 0.2583 | model_form_blend |
| predicted_BB | 0.3780 | 0.4120 | 0.3924 | model_form_blend |
| predicted_H | 0.8500 | 0.8550 | 0.8521 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.1300 | 0.1460 | 0.1368 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3547 | 0.3468 | model_form_blend |
| predicted_R | 0.3900 | 0.3190 | 0.3600 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4570 | 0.4587 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4619 | 0.4487 | model_form_blend |
| predicted_SO | 0.7930 | 0.6610 | 0.7372 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260705_SD@LAD |
| game_type | full |
| mlbID | 657757 |
| playerID | 657757 |
| playerName | Gavin Sheets |
| pos | 1B |
| started | True |
| startingPosition | LF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.341 |
| sl_xwoba | 0.337 |
| sl_xba | 0.252 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 42.8 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 43.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 0.000 | 0.000 | Hitting_2B | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_AB | 3.233 | 4.000 | 3.000 | Hitting_AB | 3.259 | 5.000 | 0.741 | -1.000 |
| predicted_AVG | 0.253 | 0.250 | 0.333 | Hitting_AVG | 0.277 | 0.000 | -0.027 | 0.250 |
| predicted_BB | 0.183 | 0.000 | 0.000 | Hitting_BB | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.770 | 1.000 | 1.000 | Hitting_H | 0.904 | 0.000 | 0.096 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_OBP | 0.298 | 0.250 | 0.333 | Hitting_OBP | 0.321 | 0.000 | -0.071 | 0.250 |
| predicted_R | 0.350 | 0.000 | 0.000 | Hitting_R | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.541 | 0.000 | -0.541 | 0.000 |
| predicted_SLG | 0.413 | 0.250 | 0.333 | Hitting_SLG | 0.507 | 0.000 | -0.257 | 0.250 |
| predicted_SO | 0.883 | 1.000 | 1.000 | Hitting_SO | 0.815 | 1.000 | 0.185 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.2330 -> 4.0000 (boost 0.7670, better) |
| Biggest Deboost | predicted_RBI: 0.4200 -> 0.0000 (deboost -0.4200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.2330 -> 3.3662 (boost 0.1332, better) | predicted_AVG: 0.2530 -> 0.2466 (deboost -0.0064, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2966 -> 0.2721 (deboost -0.0245, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.7866 -> 1.0000 (boost 0.2134, better) | predicted_RBI: 0.4316 -> 0.0000 (deboost -0.4316, worse) | AB rounded to 3 (raw=3.37), rates preserved: AVG=0.234 HR/AB=0.038 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3325 -> 0.0000 (deboost -0.3325, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2337 -> 0.3330 (boost 0.0993, better) | predicted_SLG: 0.4083 -> 0.3330 (deboost -0.0753, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 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.4083 (boost 0.0753, better) | predicted_AVG: 0.3330 -> 0.2337 (deboost -0.0993, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664034",
"player_name": "Ty France",
"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.133,
"predicted_3B": 0.033,
"predicted_AB": 3.233,
"predicted_AVG": 0.253,
"predicted_BB": 0.183,
"predicted_H": 0.77,
"predicted_HR": 0.12,
"predicted_OBP": 0.298,
"predicted_R": 0.35,
"predicted_RBI": 0.42,
"predicted_SLG": 0.413,
"predicted_SO": 0.883
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.028,
"predicted_AB": 3.3662,
"predicted_AVG": 0.2466,
"predicted_BB": 0.1789,
"predicted_H": 0.8006,
"predicted_HBP": 0.134,
"predicted_HR": 0.1312,
"predicted_OBP": 0.2966,
"predicted_R": 0.3426,
"predicted_RBI": 0.4448,
"predicted_SLG": 0.4156,
"predicted_SO": 0.9177
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.145,
"delta": 0.012,
"percent_delta": 0.0902,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.028,
"delta": -0.005,
"percent_delta": -0.1515,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.233,
"after": 3.3662,
"delta": 0.1332,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2466,
"delta": -0.0064,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 0.1789,
"delta": -0.0041,
"percent_delta": -0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.8006,
"delta": 0.0306,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1312,
"delta": 0.0112,
"percent_delta": 0.0933,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2966,
"delta": -0.0014,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.35,
"after": 0.3426,
"delta": -0.0074,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4448,
"delta": 0.0248,
"percent_delta": 0.059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4156,
"delta": 0.0026,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 0.9177,
"delta": 0.0347,
"percent_delta": 0.0393,
"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.233,
"after": 3.3662,
"delta": 0.1332,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2466,
"delta": -0.0064,
"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": 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.145,
"predicted_3B": 0.028,
"predicted_AB": 3.3662,
"predicted_AVG": 0.2337,
"predicted_BB": 0.1776,
"predicted_H": 0.7866,
"predicted_HBP": 0.134,
"predicted_HR": 0.1289,
"predicted_OBP": 0.2721,
"predicted_R": 0.3325,
"predicted_RBI": 0.4316,
"predicted_SLG": 0.4083,
"predicted_SO": 0.9244
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3662,
"after": 3.3662,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2466,
"after": 0.2337,
"delta": -0.0129,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1789,
"after": 0.1776,
"delta": -0.0013,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8006,
"after": 0.7866,
"delta": -0.014,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1312,
"after": 0.1289,
"delta": -0.0023,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2966,
"after": 0.2721,
"delta": -0.0245,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3426,
"after": 0.3325,
"delta": -0.0101,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4448,
"after": 0.4316,
"delta": -0.0132,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4156,
"after": 0.4083,
"delta": -0.0073,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9177,
"after": 0.9244,
"delta": 0.0067,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2966,
"after": 0.2721,
"delta": -0.0245,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.37), rates preserved: AVG=0.234 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.145,
"after": 0.0,
"delta": -0.145,
"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.3662,
"after": 3.0,
"delta": -0.3662,
"percent_delta": -0.1088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1776,
"after": 0.0,
"delta": -0.1776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7866,
"after": 1.0,
"delta": 0.2134,
"percent_delta": 0.2713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1289,
"after": 0.0,
"delta": -0.1289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4316,
"after": 0.0,
"delta": -0.4316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9244,
"after": 1.0,
"delta": 0.0756,
"percent_delta": 0.0818,
"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.7866,
"after": 1.0,
"delta": 0.2134,
"percent_delta": 0.2713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4316,
"after": 0.0,
"delta": -0.4316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176)",
"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.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": 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.3325,
"after": 0.0,
"delta": -0.3325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3325,
"after": 0.0,
"delta": -0.3325,
"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.2337,
"after": 0.333,
"delta": 0.0993,
"percent_delta": 0.4249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2721,
"after": 0.333,
"delta": 0.0609,
"percent_delta": 0.2238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4083,
"after": 0.333,
"delta": -0.0753,
"percent_delta": -0.1844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2337,
"after": 0.333,
"delta": 0.0993,
"percent_delta": 0.4249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4083,
"after": 0.333,
"delta": -0.0753,
"percent_delta": -0.1844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.2337,
"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.2721,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4083,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2337,
"delta": -0.0993,
"percent_delta": -0.2983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2721,
"delta": -0.0609,
"percent_delta": -0.183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4083,
"delta": 0.0753,
"percent_delta": 0.226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4083,
"delta": 0.0753,
"percent_delta": 0.226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2337,
"delta": -0.0993,
"percent_delta": -0.2983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.233,
"after": 4.0,
"delta": 0.767,
"percent_delta": 0.2372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2337,
"delta": -0.0193,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 0.0,
"delta": -0.183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.0,
"delta": 0.23,
"percent_delta": 0.2987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2721,
"delta": -0.0259,
"percent_delta": -0.0869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4083,
"delta": -0.0047,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 1.0,
"delta": 0.117,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.233,
"after": 4.0,
"delta": 0.767,
"percent_delta": 0.2372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 3.233 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.183 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.350 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.883 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.012 |
| predicted_3B | 0.028 | -0.005 |
| predicted_AB | 3.366 | 0.133 |
| predicted_AVG | 0.247 | -0.006 |
| predicted_BB | 0.179 | -0.004 |
| predicted_H | 0.801 | 0.031 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.131 | 0.011 |
| predicted_OBP | 0.297 | -0.001 |
| predicted_R | 0.343 | -0.007 |
| predicted_RBI | 0.445 | 0.025 |
| predicted_SLG | 0.416 | 0.003 |
| predicted_SO | 0.918 | 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.145 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.366 | 0.000 |
| predicted_AVG | 0.234 | -0.013 |
| predicted_BB | 0.178 | -0.001 |
| predicted_H | 0.787 | -0.014 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.129 | -0.002 |
| predicted_OBP | 0.272 | -0.024 |
| predicted_R | 0.333 | -0.010 |
| predicted_RBI | 0.432 | -0.013 |
| predicted_SLG | 0.408 | -0.007 |
| predicted_SO | 0.924 | 0.007 |
AB rounded to 3 (raw=3.37), rates preserved: AVG=0.234 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 | - |
Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176)
| 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.145 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 3.000 | -0.366 |
| predicted_AVG | 0.333 | 0.099 |
| predicted_BB | 0.000 | -0.178 |
| predicted_H | 1.000 | 0.213 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.333 |
| predicted_RBI | 0.000 | -0.432 |
| predicted_SLG | 0.333 | -0.075 |
| predicted_SO | 1.000 | 0.076 |
Attached simulation box 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 | - | 22.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 7.000 | 0.1364 | 0.1739 | 0.1818 | 0.1364 | 0.0000 | 0.0454 | 0.0000 | 0.3182 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 2.000 | 0.000 | 2.000 | 6.000 | 4.000 | 2.000 | 9.000 | 0.2857 | 0.3659 | 0.5143 | 0.2857 | 0.0571 | 0.1714 | 0.0571 | 0.2571 |
| season | 0.60 | 60 | - | 194.000 | 49.000 | 8.000 | 2.000 | 10.000 | 30.000 | 21.000 | 11.000 | 53.000 | 0.2526 | 0.3081 | 0.4691 | 0.2526 | 0.0515 | 0.1546 | 0.0567 | 0.2732 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.5550 |
| predicted_AVG | 0.2375 |
| predicted_BB | 0.1730 |
| predicted_H | 0.8440 |
| predicted_HBP | 0.1340 |
| predicted_HR | 0.1470 |
| predicted_OBP | 0.2945 |
| predicted_R | 0.3320 |
| predicted_RBI | 0.4800 |
| predicted_SLG | 0.4193 |
| predicted_SO | 0.9670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1620 | 0.1450 | model_form_blend |
| predicted_3B | 0.0330 | 0.0210 | 0.0280 | model_form_blend |
| predicted_AB | 3.2330 | 3.5550 | 3.3662 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2375 | 0.2466 | model_form_blend |
| predicted_BB | 0.1830 | 0.1730 | 0.1789 | model_form_blend |
| predicted_H | 0.7700 | 0.8440 | 0.8006 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.1200 | 0.1470 | 0.1312 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2945 | 0.2966 | model_form_blend |
| predicted_R | 0.3500 | 0.3320 | 0.3426 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4800 | 0.4448 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4193 | 0.4156 | model_form_blend |
| predicted_SO | 0.8830 | 0.9670 | 0.9177 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 135 |
| Season rows before report date | 135 |
| Report year | 2026 |
| Profile rows used | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260705_SD@LAD |
| game_type | full |
| mlbID | 664034 |
| playerID | 664034 |
| playerName | Ty France |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.336 |
| sl_xwoba | 0.31 |
| sl_xba | 0.232 |
| sl_xslg | 0.418 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 53.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 1.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | 0.789 | 1.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.906 | 4.000 | 4.000 | Hitting_AB | 3.908 | 4.000 | 0.092 | 0.000 |
| predicted_AVG | 0.233 | 0.250 | 0.250 | Hitting_AVG | 0.208 | 0.250 | 0.042 | 0.000 |
| predicted_BB | 0.294 | 0.000 | 0.000 | Hitting_BB | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.900 | 1.000 | 1.000 | Hitting_H | 0.813 | 1.000 | 0.187 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_OBP | 0.282 | 0.250 | 0.250 | Hitting_OBP | 0.277 | 0.250 | -0.027 | 0.000 |
| predicted_R | 0.447 | 0.000 | 0.000 | Hitting_R | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.406 | 1.000 | -0.406 | -1.000 |
| predicted_SLG | 0.405 | 0.500 | 0.250 | Hitting_SLG | 0.334 | 0.250 | 0.166 | 0.250 |
| predicted_SO | 1.094 | 1.000 | 1.000 | Hitting_SO | 1.084 | 2.000 | -0.084 | -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_2B: 0.1760 -> 1.0000 (boost 0.8240, 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 | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0940 -> 1.1555 (boost 0.0615, worse) | - | Final model input calibrated with local 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.4062 -> 0.3996 (deboost -0.0066, 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.8620 -> 4.0000 (boost 0.1380, better) | predicted_RBI: 0.4233 -> 0.0000 (deboost -0.4233, worse) | AB rounded to 4 (raw=3.91), rates preserved: AVG=0.221 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4458 -> 0.0000 (deboost -0.4458, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2235 -> 0.2500 (boost 0.0265, better) | predicted_SLG: 0.3996 -> 0.2500 (deboost -0.1496, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3996 (boost 0.1496, better) | predicted_AVG: 0.2500 -> 0.2235 (deboost -0.0265, 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.176,
"predicted_3B": 0.012,
"predicted_AB": 3.906,
"predicted_AVG": 0.233,
"predicted_BB": 0.294,
"predicted_H": 0.9,
"predicted_HR": 0.16,
"predicted_OBP": 0.282,
"predicted_R": 0.447,
"predicted_RBI": 0.44,
"predicted_SLG": 0.405,
"predicted_SO": 1.094
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1474,
"predicted_3B": 0.0103,
"predicted_AB": 3.862,
"predicted_AVG": 0.229,
"predicted_BB": 0.2705,
"predicted_H": 0.8786,
"predicted_HBP": 0.009,
"predicted_HR": 0.1737,
"predicted_OBP": 0.2773,
"predicted_R": 0.4594,
"predicted_RBI": 0.4362,
"predicted_SLG": 0.4062,
"predicted_SO": 1.1555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1474,
"delta": -0.0286,
"percent_delta": -0.1625,
"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.906,
"after": 3.862,
"delta": -0.044,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.229,
"delta": -0.004,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.2705,
"delta": -0.0235,
"percent_delta": -0.0799,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8786,
"delta": -0.0214,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1737,
"delta": 0.0137,
"percent_delta": 0.0856,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2773,
"delta": -0.0047,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.4594,
"delta": 0.0124,
"percent_delta": 0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4362,
"delta": -0.0038,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4062,
"delta": 0.0012,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 1.1555,
"delta": 0.0615,
"percent_delta": 0.0562,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.094,
"after": 1.1555,
"delta": 0.0615,
"percent_delta": 0.0562,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1474,
"predicted_3B": 0.0103,
"predicted_AB": 3.862,
"predicted_AVG": 0.2235,
"predicted_BB": 0.2685,
"predicted_H": 0.8632,
"predicted_HBP": 0.009,
"predicted_HR": 0.1707,
"predicted_OBP": 0.274,
"predicted_R": 0.4458,
"predicted_RBI": 0.4233,
"predicted_SLG": 0.3996,
"predicted_SO": 1.1639
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1474,
"after": 0.1474,
"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.862,
"after": 3.862,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2235,
"delta": -0.0055,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2705,
"after": 0.2685,
"delta": -0.002,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8786,
"after": 0.8632,
"delta": -0.0154,
"percent_delta": -0.0175,
"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.1737,
"after": 0.1707,
"delta": -0.003,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2773,
"after": 0.274,
"delta": -0.0033,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4594,
"after": 0.4458,
"delta": -0.0136,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4362,
"after": 0.4233,
"delta": -0.0129,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4062,
"after": 0.3996,
"delta": -0.0066,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1555,
"after": 1.1639,
"delta": 0.0084,
"percent_delta": 0.0073,
"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.4062,
"after": 0.3996,
"delta": -0.0066,
"percent_delta": -0.0162,
"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.221 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.1474,
"after": 0.0,
"delta": -0.1474,
"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.862,
"after": 4.0,
"delta": 0.138,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2685,
"after": 0.0,
"delta": -0.2685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8632,
"after": 1.0,
"delta": 0.1368,
"percent_delta": 0.1585,
"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.1707,
"after": 0.0,
"delta": -0.1707,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4233,
"after": 0.0,
"delta": -0.4233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1639,
"after": 1.0,
"delta": -0.1639,
"percent_delta": -0.1408,
"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.862,
"after": 4.0,
"delta": 0.138,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4233,
"after": 0.0,
"delta": -0.4233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4458,
"after": 0.0,
"delta": -0.4458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4458,
"after": 0.0,
"delta": -0.4458,
"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.2235,
"after": 0.25,
"delta": 0.0265,
"percent_delta": 0.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.25,
"delta": -0.024,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3996,
"after": 0.25,
"delta": -0.1496,
"percent_delta": -0.3744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2235,
"after": 0.25,
"delta": 0.0265,
"percent_delta": 0.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3996,
"after": 0.25,
"delta": -0.1496,
"percent_delta": -0.3744,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2235,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.274,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3996,
"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.2235,
"delta": -0.0265,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.274,
"delta": 0.024,
"percent_delta": 0.096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3996,
"delta": 0.1496,
"percent_delta": 0.5983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3996,
"delta": 0.1496,
"percent_delta": 0.5983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2235,
"delta": -0.0265,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.906,
"after": 4.0,
"delta": 0.094,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2235,
"delta": -0.0095,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.274,
"delta": -0.008,
"percent_delta": -0.0284,
"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.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3996,
"delta": -0.0054,
"percent_delta": -0.0133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 1.0,
"delta": -0.094,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.176,
"after": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"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.176 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.906 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.294 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.447 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 1.094 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | -0.029 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.862 | -0.044 |
| predicted_AVG | 0.229 | -0.004 |
| predicted_BB | 0.271 | -0.023 |
| predicted_H | 0.879 | -0.021 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.174 | 0.014 |
| predicted_OBP | 0.277 | -0.005 |
| predicted_R | 0.459 | 0.012 |
| predicted_RBI | 0.436 | -0.004 |
| predicted_SLG | 0.406 | 0.001 |
| predicted_SO | 1.155 | 0.061 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.862 | 0.000 |
| predicted_AVG | 0.224 | -0.006 |
| predicted_BB | 0.269 | -0.002 |
| predicted_H | 0.863 | -0.015 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.171 | -0.003 |
| predicted_OBP | 0.274 | -0.003 |
| predicted_R | 0.446 | -0.014 |
| predicted_RBI | 0.423 | -0.013 |
| predicted_SLG | 0.400 | -0.007 |
| predicted_SO | 1.164 | 0.008 |
AB rounded to 4 (raw=3.91), rates preserved: AVG=0.221 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 | - |
Enforced H<=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.147 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.138 |
| predicted_AVG | 0.250 | 0.026 |
| predicted_BB | 0.000 | -0.269 |
| predicted_H | 1.000 | 0.137 |
| predicted_HR | 0.000 | -0.171 |
| predicted_OBP | 0.250 | -0.024 |
| predicted_R | 0.000 | -0.446 |
| predicted_RBI | 0.000 | -0.423 |
| predicted_SLG | 0.250 | -0.150 |
| predicted_SO | 1.000 | -0.164 |
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 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 1.000 | 8.000 | 0.2353 | 0.2778 | 0.5882 | 0.2353 | 0.1177 | 0.1765 | 0.0588 | 0.4706 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 1.000 | 14.000 | 0.2308 | 0.2500 | 0.3846 | 0.2308 | 0.0513 | 0.0769 | 0.0256 | 0.3590 |
| season | 0.60 | 85 | - | 332.000 | 71.000 | 15.000 | 1.000 | 10.000 | 34.000 | 38.000 | 25.000 | 93.000 | 0.2139 | 0.2709 | 0.3554 | 0.2139 | 0.0301 | 0.1024 | 0.0753 | 0.2801 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1090 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.8030 |
| predicted_AVG | 0.2236 |
| predicted_BB | 0.2390 |
| predicted_H | 0.8500 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1920 |
| predicted_OBP | 0.2710 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.4310 |
| predicted_SLG | 0.4079 |
| predicted_SO | 1.2380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1090 | 0.1474 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.9060 | 3.8030 | 3.8620 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2236 | 0.2290 | model_form_blend |
| predicted_BB | 0.2940 | 0.2390 | 0.2705 | model_form_blend |
| predicted_H | 0.9000 | 0.8500 | 0.8786 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1600 | 0.1920 | 0.1737 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2710 | 0.2773 | model_form_blend |
| predicted_R | 0.4470 | 0.4760 | 0.4594 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4310 | 0.4362 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4079 | 0.4062 | model_form_blend |
| predicted_SO | 1.0940 | 1.2380 | 1.1555 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.214 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 701538 |
| playerID | 701538 |
| playerName | Jackson Merrill |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.275 |
| sl_xwoba | 0.302 |
| sl_xba | 0.234 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 27.7 |
| 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.042 | 0.000 | 0.000 | Hitting_2B | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_AB | 3.417 | 4.000 | 3.000 | Hitting_AB | 3.417 | 1.000 | 0.583 | 3.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.329 | 0.000 | -0.079 | 0.250 |
| predicted_BB | 0.500 | 0.000 | 0.000 | Hitting_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.370 | 1.000 | 1.000 | Hitting_H | 1.125 | 0.000 | -0.125 | 1.000 |
| predicted_HR | 0.030 | 1.000 | 0.000 | Hitting_HR | 0.042 | 0.000 | 0.958 | 1.000 |
| predicted_OBP | 0.339 | 0.250 | 0.333 | Hitting_OBP | 0.415 | 0.000 | -0.165 | 0.250 |
| predicted_R | 0.583 | 1.000 | 1.000 | Hitting_R | 0.583 | 0.000 | 0.417 | 1.000 |
| predicted_RBI | 0.170 | 1.000 | 0.000 | Hitting_RBI | 0.458 | 0.000 | 0.542 | 1.000 |
| predicted_SLG | 0.394 | 1.000 | 0.333 | Hitting_SLG | 0.402 | 0.000 | 0.598 | 1.000 |
| predicted_SO | 1.125 | 2.000 | 1.000 | Hitting_SO | 1.125 | 1.000 | 0.875 | 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_HR: 0.0300 -> 1.0000 (boost 0.9700, better) |
| Biggest Deboost | predicted_BB: 0.5000 -> 0.0000 (deboost -0.5000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.3700 -> 0.6290 (boost 0.2590, better) | - | Final model input calibrated with local form: 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.4019 -> 0.2596 (deboost -0.1423, 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.6180 -> 1.0000 (boost 0.3820, better) | predicted_BB: 0.4843 -> 0.0000 (deboost -0.4843, worse) | AB rounded to 3 (raw=3.42), rates preserved: AVG=0.181 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5327 -> 1.0000 (boost 0.4673, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1815 -> 0.3330 (boost 0.1515, better) | - | 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1815 (deboost -0.1515, 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.042,
"predicted_3B": 0.042,
"predicted_AB": 3.417,
"predicted_AVG": 0.263,
"predicted_BB": 0.5,
"predicted_H": 0.37,
"predicted_HR": 0.03,
"predicted_OBP": 0.339,
"predicted_R": 0.583,
"predicted_RBI": 0.17,
"predicted_SLG": 0.394,
"predicted_SO": 1.125
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0481,
"predicted_3B": 0.0545,
"predicted_AB": 3.4041,
"predicted_AVG": 0.2813,
"predicted_BB": 0.4879,
"predicted_H": 0.629,
"predicted_HBP": 0.007,
"predicted_HR": 0.0368,
"predicted_OBP": 0.3603,
"predicted_R": 0.5489,
"predicted_RBI": 0.2417,
"predicted_SLG": 0.4019,
"predicted_SO": 1.0825
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.042,
"after": 0.0481,
"delta": 0.0061,
"percent_delta": 0.1452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0545,
"delta": 0.0125,
"percent_delta": 0.2976,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.417,
"after": 3.4041,
"delta": -0.0129,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2813,
"delta": 0.0183,
"percent_delta": 0.0696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4879,
"delta": -0.0121,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.629,
"delta": 0.259,
"percent_delta": 0.7,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0368,
"delta": 0.0068,
"percent_delta": 0.2267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3603,
"delta": 0.0213,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.5489,
"delta": -0.0341,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2417,
"delta": 0.0717,
"percent_delta": 0.4218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.4019,
"delta": 0.0079,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 1.0825,
"delta": -0.0425,
"percent_delta": -0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.37,
"after": 0.629,
"delta": 0.259,
"percent_delta": 0.7,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 24
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0481,
"predicted_3B": 0.0545,
"predicted_AB": 3.4041,
"predicted_AVG": 0.1815,
"predicted_BB": 0.4843,
"predicted_H": 0.618,
"predicted_HBP": 0.007,
"predicted_HR": 0.0362,
"predicted_OBP": 0.2835,
"predicted_R": 0.5327,
"predicted_RBI": 0.2345,
"predicted_SLG": 0.2596,
"predicted_SO": 1.0904
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0481,
"after": 0.0481,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0545,
"after": 0.0545,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4041,
"after": 3.4041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2813,
"after": 0.1815,
"delta": -0.0998,
"percent_delta": -0.3548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4879,
"after": 0.4843,
"delta": -0.0036,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.629,
"after": 0.618,
"delta": -0.011,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0368,
"after": 0.0362,
"delta": -0.0006,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3603,
"after": 0.2835,
"delta": -0.0768,
"percent_delta": -0.2132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5489,
"after": 0.5327,
"delta": -0.0162,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2417,
"after": 0.2345,
"delta": -0.0072,
"percent_delta": -0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4019,
"after": 0.2596,
"delta": -0.1423,
"percent_delta": -0.3541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0825,
"after": 1.0904,
"delta": 0.0079,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4019,
"after": 0.2596,
"delta": -0.1423,
"percent_delta": -0.3541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.42), rates preserved: AVG=0.181 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.0481,
"after": 0.0,
"delta": -0.0481,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0545,
"after": 0.0,
"delta": -0.0545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4041,
"after": 3.0,
"delta": -0.4041,
"percent_delta": -0.1187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4843,
"after": 0.0,
"delta": -0.4843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0362,
"after": 0.0,
"delta": -0.0362,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2345,
"after": 0.0,
"delta": -0.2345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0904,
"after": 1.0,
"delta": -0.0904,
"percent_delta": -0.0829,
"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.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4843,
"after": 0.0,
"delta": -0.4843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5327,
"after": 1.0,
"delta": 0.4673,
"percent_delta": 0.8772,
"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.5327,
"after": 1.0,
"delta": 0.4673,
"percent_delta": 0.8772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1815,
"after": 0.333,
"delta": 0.1515,
"percent_delta": 0.8347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2835,
"after": 0.333,
"delta": 0.0495,
"percent_delta": 0.1746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.2596,
"after": 0.333,
"delta": 0.0734,
"percent_delta": 0.2827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1815,
"after": 0.333,
"delta": 0.1515,
"percent_delta": 0.8347,
"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": 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.1815,
"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.2835,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2596,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1815,
"delta": -0.1515,
"percent_delta": -0.4548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2835,
"delta": -0.0495,
"percent_delta": -0.1487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2596,
"delta": -0.0734,
"percent_delta": -0.2205,
"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.1815,
"delta": -0.1515,
"percent_delta": -0.4548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.417,
"after": 4.0,
"delta": 0.583,
"percent_delta": 0.1706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.1815,
"delta": -0.0815,
"percent_delta": -0.3099,
"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.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 1.0,
"delta": 0.97,
"percent_delta": 32.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.2835,
"delta": -0.0555,
"percent_delta": -0.1637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.2596,
"delta": -0.1344,
"percent_delta": -0.3411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 2.0,
"delta": 0.875,
"percent_delta": 0.7778,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.03,
"after": 1.0,
"delta": 0.97,
"percent_delta": 32.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.042 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 3.417 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.370 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.583 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 1.125 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.048 | 0.006 |
| predicted_3B | 0.054 | 0.012 |
| predicted_AB | 3.404 | -0.013 |
| predicted_AVG | 0.281 | 0.018 |
| predicted_BB | 0.488 | -0.012 |
| predicted_H | 0.629 | 0.259 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.037 | 0.007 |
| predicted_OBP | 0.360 | 0.021 |
| predicted_R | 0.549 | -0.034 |
| predicted_RBI | 0.242 | 0.072 |
| predicted_SLG | 0.402 | 0.008 |
| predicted_SO | 1.083 | -0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.048 | 0.000 |
| predicted_3B | 0.054 | 0.000 |
| predicted_AB | 3.404 | 0.000 |
| predicted_AVG | 0.181 | -0.100 |
| predicted_BB | 0.484 | -0.004 |
| predicted_H | 0.618 | -0.011 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.036 | -0.001 |
| predicted_OBP | 0.283 | -0.077 |
| predicted_R | 0.533 | -0.016 |
| predicted_RBI | 0.234 | -0.007 |
| predicted_SLG | 0.260 | -0.142 |
| predicted_SO | 1.090 | 0.008 |
AB rounded to 3 (raw=3.42), rates preserved: AVG=0.181 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.048 |
| predicted_3B | 0.000 | -0.054 |
| predicted_AB | 3.000 | -0.404 |
| predicted_AVG | 0.333 | 0.152 |
| predicted_BB | 0.000 | -0.484 |
| predicted_H | 1.000 | 0.382 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | 0.050 |
| predicted_R | 1.000 | 0.467 |
| predicted_RBI | 0.000 | -0.234 |
| predicted_SLG | 0.333 | 0.073 |
| predicted_SO | 1.000 | -0.090 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 5 | - | 14.000 | 5.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 4.000 | 0.3571 | 0.4375 | 0.5000 | 0.3571 | 0.0000 | 0.0000 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 0.000 | 1.000 | 0.000 | 3.000 | 3.000 | 7.000 | 11.000 | 0.3125 | 0.4359 | 0.3750 | 0.3125 | 0.0000 | 0.0938 | 0.2188 | 0.3438 |
| season | 0.60 | 24 | - | 82.000 | 27.000 | 1.000 | 1.000 | 1.000 | 11.000 | 14.000 | 12.000 | 27.000 | 0.3293 | 0.4149 | 0.4024 | 0.3293 | 0.0122 | 0.1341 | 0.1463 | 0.3293 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0580 |
| predicted_3B | 0.0750 |
| predicted_AB | 3.3830 |
| predicted_AVG | 0.3113 |
| predicted_BB | 0.4680 |
| predicted_H | 1.0530 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.3952 |
| predicted_R | 0.4930 |
| predicted_RBI | 0.3590 |
| predicted_SLG | 0.4147 |
| predicted_SO | 1.0130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0420 | 0.0580 | 0.0481 | model_form_blend |
| predicted_3B | 0.0420 | 0.0750 | 0.0545 | model_form_blend |
| predicted_AB | 3.4170 | 3.3830 | 3.4041 | model_form_blend |
| predicted_AVG | 0.2630 | 0.3113 | 0.2813 | model_form_blend |
| predicted_BB | 0.5000 | 0.4680 | 0.4879 | model_form_blend |
| predicted_H | 0.3700 | 1.0530 | 0.6290 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0300 | 0.0480 | 0.0368 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3952 | 0.3603 | model_form_blend |
| predicted_R | 0.5830 | 0.4930 | 0.5489 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3590 | 0.2417 | model_form_blend |
| predicted_SLG | 0.3940 | 0.4147 | 0.4019 | model_form_blend |
| predicted_SO | 1.1250 | 1.0130 | 1.0825 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260703_SD@LAD |
| game_type | ph |
| mlbID | 669392 |
| note | Struck out for Song in the 9th. |
| playerID | 669392 |
| playerName | Samad Taylor |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-03 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.369 |
| sl_xwoba | 0.328 |
| sl_xba | 0.282 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 22.8 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 7.3 |
| sl_whiff_percent | 22.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.112 | 0.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 2.000 | 3.000 | Hitting_AB | 2.137 | 3.000 | -0.137 | -1.000 |
| predicted_AVG | 0.296 | 0.000 | 0.333 | Hitting_AVG | 0.229 | 0.333 | -0.229 | -0.333 |
| predicted_BB | 0.373 | 1.000 | 0.000 | Hitting_BB | 0.314 | 1.000 | 0.686 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 0.480 | 0.000 | 1.000 | Hitting_H | 0.490 | 1.000 | -0.490 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_OBP | 0.339 | 0.333 | 0.333 | Hitting_OBP | 0.328 | 0.500 | 0.005 | -0.167 |
| predicted_R | 0.373 | 0.000 | 0.000 | Hitting_R | 0.353 | 1.000 | -0.353 | -1.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.373 | 0.000 | -0.373 | 0.000 |
| predicted_SLG | 0.408 | 0.000 | 0.333 | Hitting_SLG | 0.312 | 0.333 | -0.312 | -0.333 |
| predicted_SO | 0.522 | 1.000 | 1.000 | Hitting_SO | 0.431 | 0.000 | 0.569 | 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.3730 -> 1.0000 (boost 0.6270, better) |
| Biggest Deboost | predicted_AB: 2.5000 -> 2.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 | 4 | 3 | 1 | 3 | 1 | predicted_AB: 2.5000 -> 2.6365 (boost 0.1365, better) | predicted_AVG: 0.2960 -> 0.2839 (deboost -0.0121, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2839 -> 0.2166 (deboost -0.0673, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.5369 -> 1.0000 (boost 0.4631, worse) | predicted_BB: 0.3812 -> 0.0000 (deboost -0.3812, worse) | AB rounded to 3 (raw=2.64), rates preserved: AVG=0.217 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3852 -> 0.0000 (deboost -0.3852, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2166 -> 0.3330 (boost 0.1164, better) | predicted_SLG: 0.3480 -> 0.3330 (deboost -0.0150, 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: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3480 (boost 0.0150, better) | predicted_AVG: 0.3330 -> 0.2166 (deboost -0.1164, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "823550",
"player_name": "Sung-Mun Song",
"position": "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.112,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.296,
"predicted_BB": 0.373,
"predicted_H": 0.48,
"predicted_HR": 0.06,
"predicted_OBP": 0.339,
"predicted_R": 0.373,
"predicted_RBI": 0.25,
"predicted_SLG": 0.408,
"predicted_SO": 0.522
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1293,
"predicted_3B": 0.0011,
"predicted_AB": 2.6365,
"predicted_AVG": 0.2839,
"predicted_BB": 0.384,
"predicted_H": 0.5812,
"predicted_HBP": 0.007,
"predicted_HR": 0.0729,
"predicted_OBP": 0.3446,
"predicted_R": 0.3969,
"predicted_RBI": 0.2993,
"predicted_SLG": 0.4124,
"predicted_SO": 0.533
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.112,
"after": 0.1293,
"delta": 0.0173,
"percent_delta": 0.1545,
"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.5,
"after": 2.6365,
"delta": 0.1365,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2839,
"delta": -0.0121,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.373,
"after": 0.384,
"delta": 0.011,
"percent_delta": 0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.48,
"after": 0.5812,
"delta": 0.1012,
"percent_delta": 0.2108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0729,
"delta": 0.0129,
"percent_delta": 0.215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3446,
"delta": 0.0056,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.3969,
"delta": 0.0239,
"percent_delta": 0.0641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2993,
"delta": 0.0493,
"percent_delta": 0.1972,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4124,
"delta": 0.0044,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.522,
"after": 0.533,
"delta": 0.011,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6365,
"delta": 0.1365,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2839,
"delta": -0.0121,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 27
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1293,
"predicted_3B": 0.0011,
"predicted_AB": 2.6365,
"predicted_AVG": 0.2166,
"predicted_BB": 0.3812,
"predicted_H": 0.571,
"predicted_HBP": 0.007,
"predicted_HR": 0.0716,
"predicted_OBP": 0.3155,
"predicted_R": 0.3852,
"predicted_RBI": 0.2904,
"predicted_SLG": 0.348,
"predicted_SO": 0.5369
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1293,
"after": 0.1293,
"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.6365,
"after": 2.6365,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2839,
"after": 0.2166,
"delta": -0.0673,
"percent_delta": -0.2371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.384,
"after": 0.3812,
"delta": -0.0028,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5812,
"after": 0.571,
"delta": -0.0102,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0729,
"after": 0.0716,
"delta": -0.0013,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3446,
"after": 0.3155,
"delta": -0.0291,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3969,
"after": 0.3852,
"delta": -0.0117,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2993,
"after": 0.2904,
"delta": -0.0089,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4124,
"after": 0.348,
"delta": -0.0644,
"percent_delta": -0.1562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.533,
"after": 0.5369,
"delta": 0.0039,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2839,
"after": 0.2166,
"delta": -0.0673,
"percent_delta": -0.2371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.64), rates preserved: AVG=0.217 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.1293,
"after": 0.0,
"delta": -0.1293,
"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.6365,
"after": 3.0,
"delta": 0.3635,
"percent_delta": 0.1379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3812,
"after": 0.0,
"delta": -0.3812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.571,
"after": 1.0,
"delta": 0.429,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0716,
"after": 0.0,
"delta": -0.0716,
"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.5369,
"after": 1.0,
"delta": 0.4631,
"percent_delta": 0.8625,
"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.5369,
"after": 1.0,
"delta": 0.4631,
"percent_delta": 0.8625,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3812,
"after": 0.0,
"delta": -0.3812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3852,
"after": 0.0,
"delta": -0.3852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3852,
"after": 0.0,
"delta": -0.3852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2166,
"after": 0.333,
"delta": 0.1164,
"percent_delta": 0.5374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3155,
"after": 0.333,
"delta": 0.0175,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.333,
"delta": -0.015,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2166,
"after": 0.333,
"delta": 0.1164,
"percent_delta": 0.5374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.333,
"delta": -0.015,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 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.2166,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3155,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.348,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2166,
"delta": -0.1164,
"percent_delta": -0.3496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3155,
"delta": -0.0175,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.348,
"delta": 0.015,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.348,
"delta": 0.015,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2166,
"delta": -0.1164,
"percent_delta": -0.3496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.112,
"after": 0.0,
"delta": -0.112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"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": 2.0,
"delta": -0.5,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2166,
"delta": -0.0794,
"percent_delta": -0.2682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.373,
"after": 1.0,
"delta": 0.627,
"percent_delta": 1.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"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.339,
"after": 0.3155,
"delta": -0.0235,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.348,
"delta": -0.06,
"percent_delta": -0.1471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.522,
"after": 1.0,
"delta": 0.478,
"percent_delta": 0.9157,
"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.373,
"after": 1.0,
"delta": 0.627,
"percent_delta": 1.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.0,
"delta": -0.5,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.112 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.373 | - |
| predicted_H | 0.480 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.373 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.522 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.636 | 0.136 |
| predicted_AVG | 0.284 | -0.012 |
| predicted_BB | 0.384 | 0.011 |
| predicted_H | 0.581 | 0.101 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.073 | 0.013 |
| predicted_OBP | 0.345 | 0.006 |
| predicted_R | 0.397 | 0.024 |
| predicted_RBI | 0.299 | 0.049 |
| predicted_SLG | 0.412 | 0.004 |
| predicted_SO | 0.533 | 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.129 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.636 | 0.000 |
| predicted_AVG | 0.217 | -0.067 |
| predicted_BB | 0.381 | -0.003 |
| predicted_H | 0.571 | -0.010 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.072 | -0.001 |
| predicted_OBP | 0.316 | -0.029 |
| predicted_R | 0.385 | -0.012 |
| predicted_RBI | 0.290 | -0.009 |
| predicted_SLG | 0.348 | -0.064 |
| predicted_SO | 0.537 | 0.004 |
AB rounded to 3 (raw=2.64), rates preserved: AVG=0.217 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.129 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.364 |
| predicted_AVG | 0.333 | 0.116 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | 0.429 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 0.000 | -0.385 |
| predicted_RBI | 0.000 | -0.290 |
| predicted_SLG | 0.333 | -0.015 |
| predicted_SO | 1.000 | 0.463 |
Attached 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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 2.000 | 0.3077 | 0.4375 | 0.6154 | 0.3077 | 0.0769 | 0.0769 | 0.2308 | 0.1538 |
| last_10 | 0.20 | 10 | - | 25.000 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 4.000 | 3.000 | 0.3200 | 0.4138 | 0.5200 | 0.3200 | 0.0400 | 0.2000 | 0.1600 | 0.1200 |
| season | 0.60 | 27 | - | 67.000 | 16.000 | 3.000 | 0.000 | 1.000 | 9.000 | 10.000 | 10.000 | 14.000 | 0.2388 | 0.3377 | 0.3284 | 0.2388 | 0.0149 | 0.1343 | 0.1492 | 0.2090 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.8710 |
| predicted_AVG | 0.2630 |
| predicted_BB | 0.4030 |
| predicted_H | 0.7550 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3542 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.3840 |
| predicted_SLG | 0.4200 |
| predicted_SO | 0.5520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1120 | 0.1590 | 0.1293 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.5000 | 2.8710 | 2.6365 | model_form_blend |
| predicted_AVG | 0.2960 | 0.2630 | 0.2839 | model_form_blend |
| predicted_BB | 0.3730 | 0.4030 | 0.3840 | model_form_blend |
| predicted_H | 0.4800 | 0.7550 | 0.5812 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0600 | 0.0950 | 0.0729 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3542 | 0.3446 | model_form_blend |
| predicted_R | 0.3730 | 0.4380 | 0.3969 | model_form_blend |
| predicted_RBI | 0.2500 | 0.3840 | 0.2993 | model_form_blend |
| predicted_SLG | 0.4080 | 0.4200 | 0.4124 | model_form_blend |
| predicted_SO | 0.5220 | 0.5520 | 0.5330 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 51 |
| Season rows before report date | 51 |
| Report year | 2026 |
| Profile rows used | 27 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260705_SD@LAD |
| game_type | full |
| mlbID | 823550 |
| playerID | 823550 |
| playerName | Sung-Mun Song |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.305 |
| sl_xwoba | 0.278 |
| sl_xba | 0.195 |
| sl_xslg | 0.307 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 24.5 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 23.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_2B | 0.148 | 0.000 | 0.000 | Hitting_2B | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.704 | 3.000 | 3.000 | Hitting_AB | 2.347 | 0.000 | 0.653 | 3.000 |
| predicted_AVG | 0.246 | 0.000 | 0.333 | Hitting_AVG | 0.130 | - | -0.130 | - |
| predicted_BB | 0.259 | 0.000 | 0.000 | Hitting_BB | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.490 | 0.000 | 1.000 | Hitting_H | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.246 | 0.000 | 0.333 | Hitting_OBP | 0.237 | - | -0.237 | - |
| predicted_R | 0.296 | 0.000 | 0.000 | Hitting_R | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_SLG | 0.324 | 0.000 | 0.333 | Hitting_SLG | 0.322 | - | -0.322 | - |
| predicted_SO | 0.741 | 1.000 | 1.000 | Hitting_SO | 0.653 | 0.000 | 0.347 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 2.7040 -> 3.0000 (boost 0.2960, better) |
| Biggest Deboost | predicted_H: 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 | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.7040 -> 2.8297 (boost 0.1257, better) | predicted_AVG: 0.2460 -> 0.2152 (deboost -0.0308, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2152 -> 0.1709 (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 | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.4836 -> 1.0000 (boost 0.5164, better) | predicted_RBI: 0.2778 -> 0.0000 (deboost -0.2778, worse) | AB rounded to 3 (raw=2.83), rates preserved: AVG=0.171 HR/AB=0.026 |
| 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.1709 -> 0.3330 (boost 0.1621, 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.1709 (deboost -0.1621, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660710",
"player_name": "Rodolfo Durán",
"position": "C",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.148,
"predicted_3B": 0.0,
"predicted_AB": 2.704,
"predicted_AVG": 0.246,
"predicted_BB": 0.259,
"predicted_H": 0.49,
"predicted_HR": 0.07,
"predicted_OBP": 0.246,
"predicted_R": 0.296,
"predicted_RBI": 0.27,
"predicted_SLG": 0.324,
"predicted_SO": 0.741
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1521,
"predicted_3B": 0.0011,
"predicted_AB": 2.8297,
"predicted_AVG": 0.2152,
"predicted_BB": 0.2319,
"predicted_H": 0.4922,
"predicted_HBP": 0.025,
"predicted_HR": 0.0752,
"predicted_OBP": 0.2349,
"predicted_R": 0.3038,
"predicted_RBI": 0.2863,
"predicted_SLG": 0.3151,
"predicted_SO": 0.7447
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.1521,
"delta": 0.0041,
"percent_delta": 0.0277,
"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.704,
"after": 2.8297,
"delta": 0.1257,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2152,
"delta": -0.0308,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.259,
"after": 0.2319,
"delta": -0.0271,
"percent_delta": -0.1046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.49,
"after": 0.4922,
"delta": 0.0022,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0752,
"delta": 0.0052,
"percent_delta": 0.0743,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.246,
"after": 0.2349,
"delta": -0.0111,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.296,
"after": 0.3038,
"delta": 0.0078,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2863,
"delta": 0.0163,
"percent_delta": 0.0604,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.324,
"after": 0.3151,
"delta": -0.0089,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.741,
"after": 0.7447,
"delta": 0.0037,
"percent_delta": 0.005,
"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.704,
"after": 2.8297,
"delta": 0.1257,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2152,
"delta": -0.0308,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 27
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1521,
"predicted_3B": 0.0011,
"predicted_AB": 2.8297,
"predicted_AVG": 0.1709,
"predicted_BB": 0.2302,
"predicted_H": 0.4836,
"predicted_HBP": 0.025,
"predicted_HR": 0.0739,
"predicted_OBP": 0.2333,
"predicted_R": 0.2948,
"predicted_RBI": 0.2778,
"predicted_SLG": 0.3038,
"predicted_SO": 0.7501
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1521,
"after": 0.1521,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8297,
"after": 2.8297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2152,
"after": 0.1709,
"delta": -0.0443,
"percent_delta": -0.2059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2319,
"after": 0.2302,
"delta": -0.0017,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4922,
"after": 0.4836,
"delta": -0.0086,
"percent_delta": -0.0175,
"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.0752,
"after": 0.0739,
"delta": -0.0013,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2349,
"after": 0.2333,
"delta": -0.0016,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3038,
"after": 0.2948,
"delta": -0.009,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2863,
"after": 0.2778,
"delta": -0.0085,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3151,
"after": 0.3038,
"delta": -0.0113,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7447,
"after": 0.7501,
"delta": 0.0054,
"percent_delta": 0.0073,
"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.2152,
"after": 0.1709,
"delta": -0.0443,
"percent_delta": -0.2059,
"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.171 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.1521,
"after": 0.0,
"delta": -0.1521,
"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.8297,
"after": 3.0,
"delta": 0.1703,
"percent_delta": 0.0602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2302,
"after": 0.0,
"delta": -0.2302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4836,
"after": 1.0,
"delta": 0.5164,
"percent_delta": 1.0678,
"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.0739,
"after": 0.0,
"delta": -0.0739,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2778,
"after": 0.0,
"delta": -0.2778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7501,
"after": 1.0,
"delta": 0.2499,
"percent_delta": 0.3332,
"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.4836,
"after": 1.0,
"delta": 0.5164,
"percent_delta": 1.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2778,
"after": 0.0,
"delta": -0.2778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1709,
"after": 0.333,
"delta": 0.1621,
"percent_delta": 0.9485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2333,
"after": 0.333,
"delta": 0.0997,
"percent_delta": 0.4273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3038,
"after": 0.333,
"delta": 0.0292,
"percent_delta": 0.0961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1709,
"after": 0.333,
"delta": 0.1621,
"percent_delta": 0.9485,
"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.1709,
"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.2333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3038,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1709,
"delta": -0.1621,
"percent_delta": -0.4868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2333,
"delta": -0.0997,
"percent_delta": -0.2995,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3038,
"delta": -0.0292,
"percent_delta": -0.0878,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1709,
"delta": -0.1621,
"percent_delta": -0.4868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.704,
"after": 3.0,
"delta": 0.296,
"percent_delta": 0.1095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.1709,
"delta": -0.0751,
"percent_delta": -0.3053,
"direction": "deboost",
"projection_effect": "worse",
"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.49,
"after": 0.0,
"delta": -0.49,
"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.246,
"after": 0.2333,
"delta": -0.0127,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.296,
"after": 0.0,
"delta": -0.296,
"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.324,
"after": 0.3038,
"delta": -0.0202,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.741,
"after": 1.0,
"delta": 0.259,
"percent_delta": 0.3495,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.704,
"after": 3.0,
"delta": 0.296,
"percent_delta": 0.1095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"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.148 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.704 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.259 | - |
| predicted_H | 0.490 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.246 | - |
| predicted_R | 0.296 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.324 | - |
| predicted_SO | 0.741 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | 0.004 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.830 | 0.126 |
| predicted_AVG | 0.215 | -0.031 |
| predicted_BB | 0.232 | -0.027 |
| predicted_H | 0.492 | 0.002 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.075 | 0.005 |
| predicted_OBP | 0.235 | -0.011 |
| predicted_R | 0.304 | 0.008 |
| predicted_RBI | 0.286 | 0.016 |
| predicted_SLG | 0.315 | -0.009 |
| predicted_SO | 0.745 | 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.152 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.830 | 0.000 |
| predicted_AVG | 0.171 | -0.044 |
| predicted_BB | 0.230 | -0.002 |
| predicted_H | 0.484 | -0.009 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.074 | -0.001 |
| predicted_OBP | 0.233 | -0.002 |
| predicted_R | 0.295 | -0.009 |
| predicted_RBI | 0.278 | -0.009 |
| predicted_SLG | 0.304 | -0.011 |
| predicted_SO | 0.750 | 0.005 |
AB rounded to 3 (raw=2.83), rates preserved: AVG=0.171 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 | - |
Enforced H<=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.152 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.170 |
| predicted_AVG | 0.333 | 0.162 |
| predicted_BB | 0.000 | -0.230 |
| predicted_H | 1.000 | 0.516 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.333 | 0.100 |
| predicted_R | 0.000 | -0.295 |
| predicted_RBI | 0.000 | -0.278 |
| predicted_SLG | 0.333 | 0.029 |
| predicted_SO | 1.000 | 0.250 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | - | 14.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 3.000 | 0.1429 | 0.1429 | 0.2143 | 0.1429 | 0.0000 | 0.0714 | 0.0000 | 0.2143 |
| last_10 | 0.20 | 10 | - | 29.000 | 3.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 7.000 | 0.1034 | 0.1034 | 0.1379 | 0.1035 | 0.0000 | 0.0690 | 0.0000 | 0.2414 |
| season | 0.60 | 27 | - | 73.000 | 10.000 | 4.000 | 0.000 | 3.000 | 8.000 | 8.000 | 7.000 | 20.000 | 0.1370 | 0.2222 | 0.3151 | 0.1370 | 0.0411 | 0.1096 | 0.0959 | 0.2740 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.0430 |
| predicted_AVG | 0.1630 |
| predicted_BB | 0.1860 |
| predicted_H | 0.4960 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.2160 |
| predicted_R | 0.3170 |
| predicted_RBI | 0.3140 |
| predicted_SLG | 0.3000 |
| predicted_SO | 0.7510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.1590 | 0.1521 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.7040 | 3.0430 | 2.8297 | model_form_blend |
| predicted_AVG | 0.2460 | 0.1630 | 0.2152 | model_form_blend |
| predicted_BB | 0.2590 | 0.1860 | 0.2319 | model_form_blend |
| predicted_H | 0.4900 | 0.4960 | 0.4922 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0700 | 0.0840 | 0.0752 | model_form_blend |
| predicted_OBP | 0.2460 | 0.2160 | 0.2349 | model_form_blend |
| predicted_R | 0.2960 | 0.3170 | 0.3038 | model_form_blend |
| predicted_RBI | 0.2700 | 0.3140 | 0.2863 | model_form_blend |
| predicted_SLG | 0.3240 | 0.3000 | 0.3151 | model_form_blend |
| predicted_SO | 0.7410 | 0.7510 | 0.7447 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 27 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.137 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260704_SD@LAD |
| game_type | short |
| mlbID | 660710 |
| playerID | 660710 |
| playerName | Rodolfo Durán |
| pos | C |
| started | False |
| startingPosition | C |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-04 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.24 |
| sl_xwoba | 0.26 |
| sl_xba | 0.172 |
| sl_xslg | 0.327 |
| sl_sweet_spot_percent | 20.4 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 29.6 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 43.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.765 | 4.000 | -0.765 | -3.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 2.471 | 9.000 | 2.529 | -4.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 4.882 | 7.000 | 2.118 | 0.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.659 | 4.000 | 0.341 | 1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 4.471 | 6.000 | -1.471 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "621111",
"player_name": "Walker Buehler",
"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": 1.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 5.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 5.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 24.100 | 13.000 | 29.000 | 10.000 | 27.000 | 5.000 | 4.8082 | 1.6027 | 0.5343 | 1.1918 | 0.4110 | 1.1096 | 0.2055 |
| last_10 | 0.35 | 10 | 51.200 | 23.000 | 49.000 | 18.000 | 47.000 | 7.000 | 4.0065 | 1.2968 | 0.4452 | 0.9484 | 0.3484 | 0.9097 | 0.1355 |
| season | 0.20 | 17 | 82.000 | 42.000 | 83.000 | 30.000 | 76.000 | 9.000 | 4.6098 | 1.3780 | 0.5122 | 1.0122 | 0.3659 | 0.9268 | 0.1098 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8890 |
| predicted_ER | 2.5190 |
| predicted_ERA | 4.4990 |
| predicted_H | 5.2790 |
| predicted_HR | 0.8010 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.9980 |
| predicted_WHIP | 1.4226 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.8890 | 1.4925 | model_form_blend |
| predicted_ER | 5.0000 | 2.5190 | 3.6256 | model_form_blend |
| predicted_ERA | - | 4.4990 | 4.4990 | form_only |
| predicted_H | 7.0000 | 5.2790 | 6.0466 | model_form_blend |
| predicted_HR | 1.0000 | 0.8010 | 0.8898 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 2.0000 | 4.9980 | 3.6608 | model_form_blend |
| predicted_WHIP | - | 1.4226 | 1.4226 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 7 |
| R | 5 |
| ER | 5 |
| BB | 1 |
| SO | 3 |
| HR | 1 |
| BF | 23 |
| Pitches | 88 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 9 |
| Pitching_ERA | 4.61 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 3 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 85 |
| Pitching_R | 9 |
| Pitching_SO | 6 |
| Pitching_Strikes | 50 |
| Pitching_Wild Pitch | 2 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260701_SD@CHC |
| game_type | full |
| mlbID | 621111 |
| playerID | 621111 |
| playerName | Walker Buehler |
| pos | P |
| started | True |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.321 |
| sl_xwoba | 0.326 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 41.7 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 44.6 |
| sl_avg_best_speed | 80.559039752 |
| sl_avg_hyper_speed | 94.446404876 |
| 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.524 | 0.000 | 0.476 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.857 | 1.000 | -0.857 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.305 | 2.000 | -0.205 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.333 | 3.000 | -1.333 | -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.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": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 8.200 | 8.000 | 8.000 | 5.000 | 13.000 | 4.000 | 8.3077 | 1.5000 | 0.9231 | 0.9231 | 0.5769 | 1.5000 | 0.4615 |
| last_10 | 0.35 | 10 | 14.100 | 8.000 | 9.000 | 5.000 | 19.000 | 4.000 | 5.0233 | 0.9767 | 0.5581 | 0.6279 | 0.3488 | 1.3256 | 0.2791 |
| season | 0.20 | 21 | 30.200 | 18.000 | 21.000 | 11.000 | 28.000 | 4.000 | 5.2826 | 1.0435 | 0.5870 | 0.6848 | 0.3587 | 0.9130 | 0.1304 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5800 |
| predicted_ER | 0.8880 |
| predicted_ERA | 5.6433 |
| predicted_H | 1.2190 |
| predicted_HR | 0.3530 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.6360 |
| predicted_WHIP | 1.2713 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5800 | 0.8071 | model_form_blend |
| predicted_ER | 0.0000 | 0.8880 | 0.4079 | model_form_blend |
| predicted_ERA | - | 5.6433 | 5.6433 | form_only |
| predicted_H | 1.0000 | 1.2190 | 1.1006 | model_form_blend |
| predicted_HR | 0.0000 | 0.3530 | 0.1622 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.6360 | 0.7515 | model_form_blend |
| predicted_WHIP | - | 1.2713 | 1.2713 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| 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 | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.28 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 31 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260704_SD@LAD |
| game_type | full |
| mlbID | 606996 |
| playerID | 606996 |
| playerName | Kyle Hart |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-04 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.3 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 43.4 |
| sl_avg_best_speed | 76.85584875 |
| sl_avg_hyper_speed | 93.290474684 |
| 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.268 | 1.000 | -0.268 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.439 | 1.000 | -0.439 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.976 | 3.000 | 0.024 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.951 | 1.200 | 0.049 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.317 | 3.000 | -1.317 | -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": "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": 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 | 6.000 | 2.000 | 7.000 | 4.000 | 6.000 | 1.000 | 3.0000 | 1.8333 | 0.3333 | 1.1667 | 0.6667 | 1.0000 | 0.1667 |
| last_10 | 0.35 | 10 | 11.200 | 2.000 | 10.000 | 4.000 | 13.000 | 1.000 | 1.5429 | 1.2000 | 0.1714 | 0.8571 | 0.3429 | 1.1143 | 0.0857 |
| season | 0.20 | 41 | 46.000 | 18.000 | 40.000 | 11.000 | 54.000 | 3.000 | 3.5217 | 1.1087 | 0.3913 | 0.8696 | 0.2391 | 1.1739 | 0.0652 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5020 |
| predicted_ER | 0.4270 |
| predicted_ERA | 3.2819 |
| predicted_H | 1.1590 |
| predicted_HR | 0.1510 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2100 |
| predicted_WHIP | 1.4172 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5020 | 0.2512 | model_form_blend |
| predicted_ER | 0.0000 | 0.4270 | 0.2137 | model_form_blend |
| predicted_ERA | - | 3.2819 | 3.2819 | form_only |
| predicted_H | 1.0000 | 1.1590 | 1.0796 | model_form_blend |
| predicted_HR | 0.0000 | 0.1510 | 0.0756 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.2000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2100 | 0.6055 | model_form_blend |
| predicted_WHIP | - | 1.4172 | 1.4172 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| 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 | 9 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.52 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 38 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 670970 |
| playerID | 670970 |
| playerName | Adrian Morejon |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.265 |
| sl_xwoba | 0.252 |
| sl_sweet_spot_percent | 27.0 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 30.3 |
| sl_whiff_percent | 35.3 |
| sl_swing_percent | 51.0 |
| sl_avg_best_speed | 73.736733115 |
| sl_avg_hyper_speed | 92.909038595 |
| 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.371 | 0.000 | -0.371 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.974 | 1.000 | 0.026 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.914 | 1.000 | -1.914 | -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": "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": 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 | 1.000 | 4.000 | 1.000 | 6.000 | 0.000 | 1.5882 | 0.8824 | 0.1765 | 0.7059 | 0.1765 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 5.000 | 2.000 | 17.000 | 0.000 | 0.8182 | 0.6364 | 0.0909 | 0.4546 | 0.1818 | 1.5454 | 0.0000 |
| season | 0.20 | 35 | 36.200 | 4.000 | 17.000 | 13.000 | 67.000 | 0.000 | 0.9818 | 0.8182 | 0.1091 | 0.4636 | 0.3545 | 1.8273 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2720 |
| predicted_ER | 0.2840 |
| predicted_ERA | 2.5578 |
| predicted_H | 0.7330 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2080 |
| predicted_WHIP | 1.0049 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2720 | 0.1300 | model_form_blend |
| predicted_ER | 0.0000 | 0.2840 | 0.1357 | model_form_blend |
| predicted_ERA | - | 2.5578 | 2.5578 | form_only |
| predicted_H | 0.0000 | 0.7330 | 0.3503 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0292 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2080 | 0.5773 | model_form_blend |
| predicted_WHIP | - | 1.0049 | 1.0049 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.98 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 695243 |
| playerID | 695243 |
| playerName | Mason Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 48.2 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.18 |
| sl_xwoba | 0.181 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 20.7 |
| sl_whiff_percent | 47.5 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 73.381294138 |
| sl_avg_hyper_speed | 91.494605862 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.412 | 1.000 | -0.412 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.265 | 1.000 | -0.265 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.882 | 0.000 | -0.882 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.921 | 0.200 | -0.721 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.029 | 1.000 | -0.029 | 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": "699134",
"player_name": "Bradgley Rodriguez",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 3.000 | 3.000 | 6.000 | 0.000 | 2.0769 | 1.3846 | 0.2308 | 0.6923 | 0.6923 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 4.000 | 9.000 | 6.000 | 9.000 | 1.000 | 4.0000 | 1.6667 | 0.4444 | 1.0000 | 0.6667 | 1.0000 | 0.1111 |
| season | 0.20 | 34 | 36.200 | 9.000 | 30.000 | 14.000 | 35.000 | 1.000 | 2.2091 | 1.2000 | 0.2455 | 0.8182 | 0.3818 | 0.9546 | 0.0273 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4440 |
| predicted_ER | 0.3350 |
| predicted_ERA | 3.4935 |
| predicted_H | 0.7640 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9320 |
| predicted_WHIP | 1.3977 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4440 | 0.2122 | model_form_blend |
| predicted_ER | 0.0000 | 0.3350 | 0.1601 | model_form_blend |
| predicted_ERA | - | 3.4935 | 3.4935 | form_only |
| predicted_H | 0.0000 | 0.7640 | 0.3651 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0358 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9320 | 0.9675 | model_form_blend |
| predicted_WHIP | - | 1.3977 | 1.3977 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.21 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 699134 |
| playerID | 699134 |
| playerName | Bradgley Rodriguez |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.262 |
| sl_xwoba | 0.244 |
| sl_sweet_spot_percent | 19.8 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 31.1 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 50.3 |
| sl_avg_best_speed | 76.529539615 |
| sl_avg_hyper_speed | 92.840563689 |
| 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.818 | 2.000 | 0.182 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.318 | 0.000 | 0.682 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.909 | 0.000 | 0.091 | 1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 1.218 | 0.200 | -1.218 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.545 | 0.000 | -1.545 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "673513",
"player_name": "Yuki Matsui",
"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": 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.100 | 3.000 | 7.000 | 6.000 | 6.000 | 1.000 | 4.2632 | 2.0526 | 0.4737 | 1.1053 | 0.9474 | 0.9474 | 0.1579 |
| last_10 | 0.35 | 10 | 12.100 | 4.000 | 11.000 | 9.000 | 14.000 | 2.000 | 2.9189 | 1.6216 | 0.3243 | 0.8919 | 0.7297 | 1.1351 | 0.1622 |
| season | 0.20 | 22 | 31.000 | 7.000 | 20.000 | 18.000 | 34.000 | 4.000 | 2.0323 | 1.2258 | 0.2258 | 0.6452 | 0.5806 | 1.0968 | 0.1290 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5310 |
| predicted_ER | 0.3810 |
| predicted_ERA | 3.8803 |
| predicted_H | 0.8430 |
| predicted_HR | 0.1340 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8880 |
| predicted_WHIP | 1.5528 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5310 | 0.7840 | model_form_blend |
| predicted_ER | 1.0000 | 0.3810 | 0.7149 | model_form_blend |
| predicted_ERA | - | 3.8803 | 3.8803 | form_only |
| predicted_H | 1.0000 | 0.8430 | 0.9277 | model_form_blend |
| predicted_HR | 0.0000 | 0.1340 | 0.0617 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8880 | 0.9484 | model_form_blend |
| predicted_WHIP | - | 1.5528 | 1.5528 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.03 |
| 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 | 0.2 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 673513 |
| playerID | 673513 |
| playerName | Yuki Matsui |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-05 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 14.1 |
| sl_woba | 0.293 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 34.7 |
| sl_whiff_percent | 38.3 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 77.346031667 |
| sl_avg_hyper_speed | 93.31335 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | COL 1 - 6 LAD | LAD | 0.660 | scoring_simulation.final_score | True |
| Simulation draw | COL 2 - 6 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 | 4.540 | 6.503 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 6 | - | 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 | 2 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.41961078838174276,
"base_low_score_probability": 0.4197786998616874,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": -0.00016791147994466016,
"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": 117,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 117,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5556,
"bayesian_hit_rate": 0.5481,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8667,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8613,
"calibrated_pick_probability": 0.6561,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "LAD",
"games": 91,
"wins": 59,
"losses": 32,
"win_pct": 0.6483516483516484,
"runs_scored": 483,
"runs_allowed": 320,
"run_differential": 163,
"run_differential_per_game": 1.7912087912087913,
"available": true
},
"away": {
"team": "COL",
"games": 91,
"wins": 37,
"losses": 54,
"win_pct": 0.4065934065934066,
"runs_scored": 443,
"runs_allowed": 522,
"run_differential": -79,
"run_differential_per_game": -0.8681318681318682,
"available": true
},
"run_differential_edge_per_game": 2.6593,
"win_pct_edge": 0.2418,
"quality_edge": 3.022,
"margin_adjustment": 1.2692,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 4.153,
"home_runs": 10.883,
"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": "COL",
"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": "COL 1 - 6 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "COL 2 - 6 LAD",
"winner": "LAD"
},
"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": 5,
"final_margin": 4,
"winner_quality_edge": 3.022,
"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": 91,
"wins": 59,
"losses": 32,
"win_pct": 0.6483516483516484,
"runs_scored": 483,
"runs_allowed": 320,
"run_differential": 163,
"run_differential_per_game": 1.7912087912087913,
"available": true
},
"away": {
"team": "COL",
"games": 91,
"wins": 37,
"losses": 54,
"win_pct": 0.4065934065934066,
"runs_scored": 443,
"runs_allowed": 522,
"run_differential": -79,
"run_differential_per_game": -0.8681318681318682,
"available": true
}
}
}{
"applied": true,
"raw_margin": 6.7299,
"final_margin": 4.25,
"margin_cap": 4.25,
"season_quality_edge": 3.022,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 5.393,
"home_runs": 9.643
}
}{
"applied": false,
"raw_confidence": 0.65605,
"final_confidence": 0.65605,
"confidence_cap": 0.66,
"score_gap": 4.25,
"calibration_sample_size": 117,
"calibration_empirical_hit_rate": 0.5556,
"calibration_bayesian_hit_rate": 0.5481,
"calibration_sparse_bucket": false,
"season_quality_edge": 3.022,
"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": "COL 1 - 6 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "COL 2 - 6 LAD",
"winner": "LAD"
},
"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": 5,
"final_margin": 4,
"winner_quality_edge": 3.022,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 2,
"home_runs": 6,
"confidence": 0.66,
"home_win_probability": 0.66,
"away_win_probability": 0.33999999999999997,
"predicted_score_text": "COL 2 - 6 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": "COL",
"original_runs": 1,
"run_delta": 0.2927,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": -0.06237957438743187,
"contact": -0.04236379750867844,
"power": -0.10012612599246787,
"discipline": -0.027962358005556562,
"xwoba": 0.3185625,
"recent_xwoba": 0.3185625,
"barrel": 7.171875000000001,
"ab_hard_contact": -0.3184153769922122,
"ab_bat_speed": 69.42270199739616,
"ab_strikeout_rate": 0.2319482211007946,
"available_players": 8,
"top_players": [
{
"player_id": "696100",
"player_name": "Hunter Goodman",
"position": "C",
"weight": 4.0,
"quality": 0.3895807580994925,
"contact": 0.12807164149888636,
"power": 1.3412899731918773,
"discipline": -0.7988333333333335,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 17.1,
"ab_hard_contact": -0.004486250448178408,
"ab_bat_speed": 74.20468333333334,
"ab_strikeout_rate": 0.34,
"available": 1.0
},
{
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"position": "SS",
"weight": 4.0,
"quality": -0.5220174714121768,
"contact": -0.8663838438645923,
"power": -0.36569223300248954,
"discipline": -0.7233197945845007,
"xwoba": 0.273,
"recent_xwoba": 0.273,
"barrel": 7.0,
"ab_hard_contact": -0.686035136240272,
"ab_bat_speed": 69.44375778089014,
"ab_strikeout_rate": 0.2566293183940243,
"available": 1.0
},
{
"player_id": "671289",
"player_name": "Tyler Freeman",
"position": "RF",
"weight": 3.0,
"quality": -0.11680005047210751,
"contact": 0.19904059214314396,
"power": -0.8057601074150328,
"discipline": 0.2581652661064425,
"xwoba": 0.314,
"recent_xwoba": 0.314,
"barrel": 1.2,
"ab_hard_contact": -0.07748786258636711,
"ab_bat_speed": 66.56162103174603,
"ab_strikeout_rate": 0.1142156862745098,
"available": 1.0
},
{
"player_id": "691720",
"player_name": "Kyle Karros",
"position": "3B",
"weight": 3.0,
"quality": 0.292375500786771,
"contact": 0.5133212230955243,
"power": 0.2790414467563013,
"discipline": 0.4649472455648931,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 8.4,
"ab_hard_contact": -0.18602820773109158,
"ab_bat_speed": 68.66379484126983,
"ab_strikeout_rate": 0.25807656395891687,
"available": 1.0
},
{
"player_id": "681198",
"player_name": "TJ Rumfield",
"position": "1B",
"weight": 4.0,
"quality": -0.21546733084796446,
"contact": -0.09211471584543598,
"power": -0.4848357005881992,
"discipline": 0.5643049450549449,
"xwoba": 0.326,
"recent_xwoba": 0.326,
"barrel": 5.7,
"ab_hard_contact": 0.2324288453788707,
"ab_bat_speed": 67.96138675213675,
"ab_strikeout_rate": 0.15464743589743588,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "641778",
"player_name": "Eric Lauer",
"quality": -0.5256575342270907,
"contact": -0.7098793846380549,
"command": -0.7192857142857143,
"movement": -1.1661099744843433,
"xwoba": 0.345,
"whiff": 18.6,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "LAD",
"original_runs": 5,
"run_delta": 0.8199,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.5556129364053816,
"contact": 0.7624762461269755,
"power": 0.718099467388106,
"discipline": 0.368107570039388,
"xwoba": 0.3547878787878788,
"recent_xwoba": 0.3547878787878788,
"barrel": 10.315151515151515,
"ab_hard_contact": 0.44235875613153136,
"ab_bat_speed": 70.28141091835548,
"ab_strikeout_rate": 0.20569978926797114,
"available_players": 9,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 4.0,
"quality": 1.5225886512059845,
"contact": 1.5687253086417434,
"power": 1.8954909841159138,
"discipline": 0.6999523809523805,
"xwoba": 0.409,
"recent_xwoba": 0.409,
"barrel": 15.800000000000002,
"ab_hard_contact": 1.2671530156515949,
"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.1738377854301294,
"contact": 1.42338276538167,
"power": 1.1723142989600175,
"discipline": 0.8054798534798533,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 11.4,
"ab_hard_contact": 0.7960002649146334,
"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.6323358682747672,
"contact": 0.6123877984631716,
"power": 1.1373444421684602,
"discipline": 0.25924206349206325,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 13.800000000000002,
"ab_hard_contact": 1.0897459862263503,
"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.49301286172935016,
"contact": 0.6355913921049469,
"power": 0.5235569140271131,
"discipline": 0.09558441558441547,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 8.6,
"ab_hard_contact": 0.7119001853041742,
"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.2890035504296714,
"contact": 0.2820678000703148,
"power": 0.5960533615195409,
"discipline": -0.2781904761904763,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 10.6,
"ab_hard_contact": 0.2700196113432063,
"ab_bat_speed": 70.83195555555557,
"ab_strikeout_rate": 0.278,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607536",
"player_name": "Kyle Freeland",
"quality": -0.5537767766307553,
"contact": -1.3491346163452773,
"command": -0.1505714285714286,
"movement": -0.8197281943592529,
"xwoba": 0.36,
"whiff": 22.8,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"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": 3.022,
"recent_form_edge_home_minus_away": 0.352,
"pitcher_matchup_edge_home_minus_away": 0.1677,
"composite_home_edge": 3.019,
"existing_home_win_probability": 0.6561,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 3.019
},
"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": "COL 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": "COL 1 - 6 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "COL 2 - 6 LAD",
"winner": "LAD"
},
"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": 5,
"final_margin": 4,
"winner_quality_edge": 3.022,
"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": "supported_runline_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 4,
"winner_quality_edge": 3.022,
"winner_recent_form_edge": 0.352,
"winner_pitcher_matchup_edge": 0.1677,
"winner_simulation_draw_rate": 0.8333,
"blowout_draw_rate_margin_4_plus": 0.5833,
"high_total_draw_rate_11_plus": 0.1667,
"low_total_draw_rate_6_or_less": 0.1667,
"total_runs_spread": {
"min": 3,
"median": 9,
"max": 12,
"range": 9
}
},
"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 COL | True | 1.0077 | 1.0077 | 1 | 9 | 0 |
| Home LAD | True | 1.0570 | 1.0570 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Willi Castro | 201 | 0.9946 | -0.0722 | neutral | 0.3030 | 0.2390 | 0.3680 | 6.30 | 41.40 | 88.50 | 18.30 | 29.90 | 26.20 | 8.40 | -0.5714 |
| 1B | TJ Rumfield | 44 | 0.9942 | -0.0780 | negative_batter_regression | 0.3260 | 0.2550 | 0.3910 | 5.70 | 29.50 | 84.20 | 15.10 | 20.50 | 14.10 | 9.60 | -1.5714 |
| C | Hunter Goodman | 46 | 1.0485 | 0.6462 | negative_batter_regression | 0.3320 | 0.2350 | 0.4770 | 17.10 | 45.90 | 91.40 | 19 | 34.20 | 32.40 | 7.70 | -1.0286 |
| 3B | Kyle Karros | 126 | 1.0406 | 0.5418 | neutral | 0.3420 | 0.2620 | 0.4100 | 8.40 | 44.50 | 89.60 | 12.50 | 24.90 | 21.20 | 12.30 | -0.0857 |
| CF | Cole Carrigg | 185 | 1.0059 | 0.0791 | negative_batter_regression | 0.3410 | 0.2460 | 0.4240 | 8.20 | 31.10 | 85.80 | 13.30 | 24.70 | 20.70 | 12 | -1.5143 |
| LF | Jake McCarthy | 159 | 0.9959 | -0.0546 | negative_batter_regression | 0.3170 | 0.2680 | 0.4140 | 6.20 | 26.90 | 85.30 | 12.40 | 22.60 | 17.70 | 5.40 | -1.4857 |
| RF | Tyler Freeman | 588 | 0.9944 | -0.0747 | neutral | 0.3140 | 0.2630 | 0.3440 | 1.20 | 33.30 | 87.70 | 9.80 | 12.70 | 12.70 | 4.40 | -0.2000 |
| DH | Troy Johnston | 300 | 1.0175 | 0.2337 | neutral | 0.3330 | 0.2850 | 0.3880 | 2.30 | 37.20 | 89.50 | 13.60 | 22.80 | 16.90 | 9 | -0.8000 |
| SS | Ezequiel Tovar | 490 | 0.9775 | -0.2997 | neutral | 0.2730 | 0.2190 | 0.3650 | 7 | 32.70 | 87.40 | 17.80 | 29.30 | 26.60 | 5.10 | 0.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Shohei Ohtani | 34 | 1.1380 | 1.8406 | neutral | 0.4090 | 0.2900 | 0.5550 | 15.80 | 52 | 93.40 | 12 | 28.50 | 22.80 | 15.20 | 0.4286 |
| SS | Mookie Betts | 93 | 1.0299 | 0.3991 | neutral | 0.3400 | 0.2820 | 0.4460 | 8.30 | 38.90 | 90.70 | 18.80 | 13 | 11.70 | 7.50 | 0.6000 |
| CF | Andy Pages | 6 | 1.0539 | 0.7192 | neutral | 0.3420 | 0.2700 | 0.4510 | 8.60 | 44.60 | 89.10 | 16.70 | 23 | 19.30 | 8 | -0.1143 |
| 1B | Freddie Freeman | 33 | 1.1148 | 1.5313 | neutral | 0.3910 | 0.2950 | 0.5160 | 11.40 | 46.70 | 90.90 | 12.60 | 21.30 | 16.10 | 12.20 | 0.2000 |
| LF | Teoscar Hernández | 228 | 1.0392 | 0.5221 | neutral | 0.3310 | 0.2490 | 0.4280 | 10.60 | 45.80 | 90.30 | 14 | 31.20 | 27.80 | 9.60 | 0.0286 |
| RF | Kyle Tucker | 128 | 1.0291 | 0.3884 | neutral | 0.3340 | 0.2560 | 0.3820 | 5.50 | 39.10 | 89 | 16.40 | 23.40 | 20.40 | 13.40 | 0.1429 |
| 2B | Miguel Rojas | 175 | 1.0204 | 0.2726 | neutral | 0.3370 | 0.2960 | 0.4280 | 7.40 | 38.80 | 87.80 | 13.40 | 16 | 9.50 | 6.80 | 0.0286 |
| 3B | Max Muncy | 14 | 1.0650 | 0.8672 | neutral | 0.3610 | 0.2500 | 0.4910 | 13.80 | 44.30 | 90 | 15.10 | 27.30 | 23.10 | 11.70 | -0.3429 |
| C | Dalton Rushing | 133 | 1.0226 | 0.3008 | neutral | 0.3420 | 0.2540 | 0.4330 | 12 | 45.30 | 89.70 | 18.30 | 31 | 26.60 | 9 | -0.5143 |
{
"home": {
"applied": true,
"offense_factor": 1.057,
"raw_average_factor": 1.057,
"team_espn_average_rank": 93.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.138,
"quality_score": 1.8406,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 34,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 34,
"gp_value": 82.0,
"gp_rank": 108,
"ab_value": 312.0,
"ab_rank": 76,
"r_value": 60.0,
"r_rank": 8,
"h_value": 90.0,
"h_rank": 31,
"avg_value": 0.2884615,
"avg_rank": 23.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 18.0,
"hr_rank": 25,
"rbi_value": 51.0,
"rbi_rank": 32,
"tb_value": 163.0,
"tb_rank": 234,
"bb_value": 58.0,
"bb_rank": 7,
"so_value": 87.0,
"so_rank": 39,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.4036939,
"obp_rank": "4",
"slg_value": 0.5224358,
"slg_rank": "14",
"ops_value": 0.9261297,
"ops_rank": 18.0,
"war_value": 2.68,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 22.8,
"bb_percent": 15.2,
"woba": 0.394,
"xwoba": 0.409,
"xba": 0.29,
"xslg": 0.555,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 15.8,
"hard_hit_percent": 52.0,
"exit_velocity_avg": 93.4,
"launch_angle_avg": 12.0,
"whiff_percent": 28.5,
"swing_percent": 43.8
},
"components": {
"expected_quality": 2.0704,
"regression_edge": 0.4286,
"xwoba_edge": 2.5,
"xba_edge": 1.4571,
"xslg_edge": 2.5,
"barrel_edge": 1.9556,
"hard_hit_edge": 1.9643,
"exit_velocity_edge": 1.84,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.0299,
"quality_score": 0.3991,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 93,
"gp_value": 55.0,
"gp_rank": 265,
"ab_value": 220.0,
"ab_rank": 176,
"r_value": 34.0,
"r_rank": 140,
"h_value": 53.0,
"h_rank": 185,
"avg_value": 0.240909,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 174,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 11.0,
"hr_rank": 86,
"rbi_value": 29.0,
"rbi_rank": 166,
"tb_value": 96.0,
"tb_rank": 1063,
"bb_value": 18.0,
"bb_rank": 206,
"so_value": 28.0,
"so_rank": 327,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3,
"obp_rank": "-",
"slg_value": 0.4363636,
"slg_rank": "-",
"ops_value": 0.7363636,
"ops_rank": null,
"war_value": 1.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 11.7,
"bb_percent": 7.5,
"woba": 0.319,
"xwoba": 0.34,
"xba": 0.282,
"xslg": 0.446,
"sweet_spot_percent": 43.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 38.9,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 18.8,
"whiff_percent": 13.0,
"swing_percent": 41.6
},
"components": {
"expected_quality": 0.9337,
"regression_edge": 0.6,
"xwoba_edge": 1.0857,
"xba_edge": 1.2286,
"xslg_edge": 1.05,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.0929,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 1.6167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0539,
"quality_score": 0.7192,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 6,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 6,
"gp_value": 90.0,
"gp_rank": 6,
"ab_value": 348.0,
"ab_rank": 8,
"r_value": 53.0,
"r_rank": 31,
"h_value": 93.0,
"h_rank": 22,
"avg_value": 0.2672413,
"avg_rank": 54.0,
"2b_value": 21.0,
"2b_rank": 10,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 16.0,
"hr_rank": 37,
"rbi_value": 63.0,
"rbi_rank": 5,
"tb_value": 164.0,
"tb_rank": 329,
"bb_value": 31.0,
"bb_rank": 81,
"so_value": 75.0,
"so_rank": 76,
"sb_value": 8.0,
"sb_rank": 69,
"obp_value": 0.3316195,
"obp_rank": "76",
"slg_value": 0.4712643,
"slg_rank": "43",
"ops_value": 0.8028838,
"ops_rank": 33.0,
"war_value": 4.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 19.3,
"bb_percent": 8.0,
"woba": 0.346,
"xwoba": 0.342,
"xba": 0.27,
"xslg": 0.451,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 16.7,
"whiff_percent": 23.0,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.8549,
"regression_edge": -0.1143,
"xwoba_edge": 1.1429,
"xba_edge": 0.8857,
"xslg_edge": 1.1214,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.9071,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.1148,
"quality_score": 1.5313,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 33,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 33,
"gp_value": 88.0,
"gp_rank": 24,
"ab_value": 331.0,
"ab_rank": 28,
"r_value": 51.0,
"r_rank": 35,
"h_value": 97.0,
"h_rank": 10,
"avg_value": 0.2930513,
"avg_rank": 16.0,
"2b_value": 22.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 15.0,
"hr_rank": 43,
"rbi_value": 49.0,
"rbi_rank": 41,
"tb_value": 166.0,
"tb_rank": 330,
"bb_value": 47.0,
"bb_rank": 21,
"so_value": 62.0,
"so_rank": 129,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.3828125,
"obp_rank": "14",
"slg_value": 0.5015105,
"slg_rank": "24",
"ops_value": 0.884323,
"ops_rank": 10.0,
"war_value": 2.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 16.1,
"bb_percent": 12.2,
"woba": 0.384,
"xwoba": 0.391,
"xba": 0.295,
"xslg": 0.516,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 46.7,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 12.6,
"whiff_percent": 21.3,
"swing_percent": 49.6
},
"components": {
"expected_quality": 1.748,
"regression_edge": 0.2,
"xwoba_edge": 2.5,
"xba_edge": 1.6,
"xslg_edge": 2.05,
"barrel_edge": 0.9778,
"hard_hit_edge": 1.2071,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0392,
"quality_score": 0.5221,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606192",
"espn_id": 33377,
"player_name": "Teoscar Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 228,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 228,
"gp_value": 57.0,
"gp_rank": 248,
"ab_value": 203.0,
"ab_rank": 206,
"r_value": 34.0,
"r_rank": 140,
"h_value": 53.0,
"h_rank": 185,
"avg_value": 0.2610837,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 8.0,
"hr_rank": 135,
"rbi_value": 36.0,
"rbi_rank": 109,
"tb_value": 85.0,
"tb_rank": 1254,
"bb_value": 22.0,
"bb_rank": 169,
"so_value": 64.0,
"so_rank": 116,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3347826,
"obp_rank": "-",
"slg_value": 0.4187192,
"slg_rank": "-",
"ops_value": 0.7535018,
"ops_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 198.0,
"k_percent": 27.8,
"bb_percent": 9.6,
"woba": 0.33,
"xwoba": 0.331,
"xba": 0.249,
"xslg": 0.428,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 14.0,
"whiff_percent": 31.2,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.6699,
"regression_edge": 0.0286,
"xwoba_edge": 0.8286,
"xba_edge": 0.2857,
"xslg_edge": 0.7929,
"barrel_edge": 0.8,
"hard_hit_edge": 1.0786,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0291,
"quality_score": 0.3884,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 128,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 128,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 305.0,
"ab_rank": 88,
"r_value": 52.0,
"r_rank": 34,
"h_value": 75.0,
"h_rank": 88,
"avg_value": 0.2459016,
"avg_rank": 101.0,
"2b_value": 17.0,
"2b_rank": 42,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 45.0,
"rbi_rank": 57,
"tb_value": 117.0,
"tb_rank": 649,
"bb_value": 48.0,
"bb_rank": 20,
"so_value": 73.0,
"so_rank": 82,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.349162,
"obp_rank": "46",
"slg_value": 0.3836065,
"slg_rank": "118",
"ops_value": 0.7327685,
"ops_rank": 72.0,
"war_value": 1.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 20.4,
"bb_percent": 13.4,
"woba": 0.329,
"xwoba": 0.334,
"xba": 0.256,
"xslg": 0.382,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 39.1,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 16.4,
"whiff_percent": 23.4,
"swing_percent": 48.2
},
"components": {
"expected_quality": 0.4284,
"regression_edge": 0.1429,
"xwoba_edge": 0.9143,
"xba_edge": 0.4857,
"xslg_edge": 0.1357,
"barrel_edge": -0.3333,
"hard_hit_edge": 0.1214,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "500743",
"player_name": "Miguel Rojas",
"offense_factor": 1.0204,
"quality_score": 0.2726,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "500743",
"espn_id": 30791,
"player_name": "Miguel Rojas",
"team": "LAD",
"role": "batter",
"espn_rank": 175,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 175,
"gp_value": 59.0,
"gp_rank": 235,
"ab_value": 129.0,
"ab_rank": 305,
"r_value": 15.0,
"r_rank": 320,
"h_value": 38.0,
"h_rank": 257,
"avg_value": 0.2945736,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 15.0,
"rbi_rank": 297,
"tb_value": 55.0,
"tb_rank": 1782,
"bb_value": 10.0,
"bb_rank": 317,
"so_value": 14.0,
"so_rank": 447,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3448275,
"obp_rank": "-",
"slg_value": 0.4263565,
"slg_rank": "-",
"ops_value": 0.771184,
"ops_rank": null,
"war_value": 0.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 89.0,
"k_percent": 9.5,
"bb_percent": 6.8,
"woba": 0.336,
"xwoba": 0.337,
"xba": 0.296,
"xslg": 0.428,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 13.4,
"whiff_percent": 16.0,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.6997,
"regression_edge": 0.0286,
"xwoba_edge": 1.0,
"xba_edge": 1.6286,
"xslg_edge": 0.7929,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.0786,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.065,
"quality_score": 0.8672,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571970",
"espn_id": 33303,
"player_name": "Max Muncy",
"team": "LAD",
"role": "batter",
"espn_rank": 14,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 14,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 276.0,
"ab_rank": 115,
"r_value": 53.0,
"r_rank": 31,
"h_value": 73.0,
"h_rank": 93,
"avg_value": 0.2644927,
"avg_rank": 62.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 17.0,
"hr_rank": 30,
"rbi_value": 39.0,
"rbi_rank": 92,
"tb_value": 139.0,
"tb_rank": 475,
"bb_value": 37.0,
"bb_rank": 48,
"so_value": 73.0,
"so_rank": 82,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3575949,
"obp_rank": "39",
"slg_value": 0.5036231,
"slg_rank": "23",
"ops_value": 0.861218,
"ops_rank": 16.0,
"war_value": 3.39,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 189.0,
"k_percent": 23.1,
"bb_percent": 11.7,
"woba": 0.373,
"xwoba": 0.361,
"xba": 0.25,
"xslg": 0.491,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 44.3,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 15.1,
"whiff_percent": 27.3,
"swing_percent": 44.1
},
"components": {
"expected_quality": 1.2295,
"regression_edge": -0.3429,
"xwoba_edge": 1.6857,
"xba_edge": 0.3143,
"xslg_edge": 1.6929,
"barrel_edge": 1.5111,
"hard_hit_edge": 0.8643,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "687221",
"player_name": "Dalton Rushing",
"offense_factor": 1.0226,
"quality_score": 0.3008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687221",
"espn_id": 4619839,
"player_name": "Dalton Rushing",
"team": "LAD",
"role": "batter",
"espn_rank": 133,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 133,
"gp_value": 56.0,
"gp_rank": 257,
"ab_value": 166.0,
"ab_rank": 251,
"r_value": 28.0,
"r_rank": 188,
"h_value": 43.0,
"h_rank": 231,
"avg_value": 0.2590361,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 29.0,
"rbi_rank": 166,
"tb_value": 81.0,
"tb_rank": 1192,
"bb_value": 17.0,
"bb_rank": 214,
"so_value": 50.0,
"so_rank": 185,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3404255,
"obp_rank": "-",
"slg_value": 0.4879518,
"slg_rank": "-",
"ops_value": 0.8283773,
"ops_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 26.6,
"bb_percent": 9.0,
"woba": 0.36,
"xwoba": 0.342,
"xba": 0.254,
"xslg": 0.433,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 18.3,
"whiff_percent": 31.0,
"swing_percent": 50.7
},
"components": {
"expected_quality": 0.8609,
"regression_edge": -0.5143,
"xwoba_edge": 1.1429,
"xba_edge": 0.4286,
"xslg_edge": 0.8643,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.0071,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0077,
"raw_average_factor": 1.0077,
"team_espn_average_rank": 237.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "650489",
"player_name": "Willi Castro",
"offense_factor": 0.9946,
"quality_score": -0.0722,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650489",
"espn_id": 34230,
"player_name": "Willi Castro",
"team": "COL",
"role": "batter",
"espn_rank": 201,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 201,
"gp_value": 76.0,
"gp_rank": 148,
"ab_value": 268.0,
"ab_rank": 121,
"r_value": 38.0,
"r_rank": 109,
"h_value": 72.0,
"h_rank": 99,
"avg_value": 0.2686567,
"avg_rank": 49.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 35.0,
"rbi_rank": 117,
"tb_value": 103.0,
"tb_rank": 1227,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 78.0,
"so_rank": 68,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3389261,
"obp_rank": "65",
"slg_value": 0.3843283,
"slg_rank": "118",
"ops_value": 0.7232544,
"ops_rank": 183.0,
"war_value": 0.66,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 26.2,
"bb_percent": 8.4,
"woba": 0.323,
"xwoba": 0.303,
"xba": 0.239,
"xslg": 0.368,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 41.4,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 18.3,
"whiff_percent": 29.9,
"swing_percent": 53.4
},
"components": {
"expected_quality": -0.0197,
"regression_edge": -0.5714,
"xwoba_edge": 0.0286,
"xba_edge": 0.0,
"xslg_edge": -0.0643,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.45,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "681198",
"player_name": "TJ Rumfield",
"offense_factor": 0.9942,
"quality_score": -0.078,
"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": 44,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 44,
"gp_value": 88.0,
"gp_rank": 24,
"ab_value": 312.0,
"ab_rank": 76,
"r_value": 42.0,
"r_rank": 84,
"h_value": 94.0,
"h_rank": 19,
"avg_value": 0.301282,
"avg_rank": 12.0,
"2b_value": 20.0,
"2b_rank": 15,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 12.0,
"hr_rank": 80,
"rbi_value": 47.0,
"rbi_rank": 47,
"tb_value": 154.0,
"tb_rank": 328,
"bb_value": 34.0,
"bb_rank": 62,
"so_value": 50.0,
"so_rank": 185,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3802816,
"obp_rank": "17",
"slg_value": 0.4935897,
"slg_rank": "29",
"ops_value": 0.8738713,
"ops_rank": 46.0,
"war_value": 2.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 14.1,
"bb_percent": 9.6,
"woba": 0.381,
"xwoba": 0.326,
"xba": 0.255,
"xslg": 0.391,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 29.5,
"exit_velocity_avg": 84.2,
"launch_angle_avg": 15.1,
"whiff_percent": 20.5,
"swing_percent": 49.7
},
"components": {
"expected_quality": 0.1604,
"regression_edge": -1.5714,
"xwoba_edge": 0.6857,
"xba_edge": 0.4571,
"xslg_edge": 0.2643,
"barrel_edge": -0.2889,
"hard_hit_edge": -1.25,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "696100",
"player_name": "Hunter Goodman",
"offense_factor": 1.0485,
"quality_score": 0.6462,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "696100",
"espn_id": 4416591,
"player_name": "Hunter Goodman",
"team": "COL",
"role": "batter",
"espn_rank": 46,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 46,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 319.0,
"ab_rank": 60,
"r_value": 58.0,
"r_rank": 13,
"h_value": 81.0,
"h_rank": 68,
"avg_value": 0.2539184,
"avg_rank": 82.0,
"2b_value": 14.0,
"2b_rank": 92,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 27.0,
"hr_rank": 3,
"rbi_value": 51.0,
"rbi_rank": 32,
"tb_value": 176.0,
"tb_rank": 597,
"bb_value": 27.0,
"bb_rank": 121,
"so_value": 114.0,
"so_rank": 6,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3181818,
"obp_rank": "102",
"slg_value": 0.5517241,
"slg_rank": "8",
"ops_value": 0.8699059,
"ops_rank": 94.0,
"war_value": 2.4,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 206.0,
"k_percent": 32.4,
"bb_percent": 7.7,
"woba": 0.368,
"xwoba": 0.332,
"xba": 0.235,
"xslg": 0.477,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 17.1,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 19.0,
"whiff_percent": 34.2,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.97,
"regression_edge": -1.0286,
"xwoba_edge": 0.8571,
"xba_edge": -0.1143,
"xslg_edge": 1.4929,
"barrel_edge": 2.2444,
"hard_hit_edge": 1.0929,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "691720",
"player_name": "Kyle Karros",
"offense_factor": 1.0406,
"quality_score": 0.5418,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691720",
"espn_id": 5203102,
"player_name": "Kyle Karros",
"team": "COL",
"role": "batter",
"espn_rank": 126,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 126,
"gp_value": 86.0,
"gp_rank": 50,
"ab_value": 251.0,
"ab_rank": 144,
"r_value": 44.0,
"r_rank": 71,
"h_value": 66.0,
"h_rank": 123,
"avg_value": 0.2629482,
"avg_rank": 68.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 29.0,
"rbi_rank": 166,
"tb_value": 107.0,
"tb_rank": 695,
"bb_value": 36.0,
"bb_rank": 55,
"so_value": 62.0,
"so_rank": 129,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.359589,
"obp_rank": "38",
"slg_value": 0.4262948,
"slg_rank": "80",
"ops_value": 0.7858838,
"ops_rank": 42.0,
"war_value": 1.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 175.0,
"k_percent": 21.2,
"bb_percent": 12.3,
"woba": 0.345,
"xwoba": 0.342,
"xba": 0.262,
"xslg": 0.41,
"sweet_spot_percent": 41.9,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 44.5,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 12.5,
"whiff_percent": 24.9,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.806,
"regression_edge": -0.0857,
"xwoba_edge": 1.1429,
"xba_edge": 0.6571,
"xslg_edge": 0.5357,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.8929,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 1.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "694249",
"player_name": "Cole Carrigg",
"offense_factor": 1.0059,
"quality_score": 0.0791,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694249",
"espn_id": 5149102,
"player_name": "Cole Carrigg",
"team": "COL",
"role": "batter",
"espn_rank": 185,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 185,
"gp_value": 24.0,
"gp_rank": 425,
"ab_value": 76.0,
"ab_rank": 400,
"r_value": 18.0,
"r_rank": 281,
"h_value": 22.0,
"h_rank": 352,
"avg_value": 0.2894736,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 377,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 19.0,
"rbi_rank": 255,
"tb_value": 43.0,
"tb_rank": 1490,
"bb_value": 11.0,
"bb_rank": 302,
"so_value": 19.0,
"so_rank": 408,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3736263,
"obp_rank": "-",
"slg_value": 0.5657894,
"slg_rank": "-",
"ops_value": 0.9394157,
"ops_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 20.7,
"bb_percent": 12.0,
"woba": 0.394,
"xwoba": 0.341,
"xba": 0.246,
"xslg": 0.424,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 13.3,
"whiff_percent": 24.7,
"swing_percent": 55.6
},
"components": {
"expected_quality": 0.4508,
"regression_edge": -1.5143,
"xwoba_edge": 1.1143,
"xba_edge": 0.2,
"xslg_edge": 0.7357,
"barrel_edge": 0.2667,
"hard_hit_edge": -1.0214,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": 0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664983",
"player_name": "Jake McCarthy",
"offense_factor": 0.9959,
"quality_score": -0.0546,
"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": 159,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 159,
"gp_value": 76.0,
"gp_rank": 148,
"ab_value": 255.0,
"ab_rank": 138,
"r_value": 37.0,
"r_rank": 118,
"h_value": 78.0,
"h_rank": 81,
"avg_value": 0.3058823,
"avg_rank": 9.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 6.0,
"3b_rank": 3,
"hr_value": 9.0,
"hr_rank": 118,
"rbi_value": 47.0,
"rbi_rank": 47,
"tb_value": 133.0,
"tb_rank": 482,
"bb_value": 15.0,
"bb_rank": 242,
"so_value": 49.0,
"so_rank": 193,
"sb_value": 14.0,
"sb_rank": 23,
"obp_value": 0.3430656,
"obp_rank": "58",
"slg_value": 0.5215686,
"slg_rank": "14",
"ops_value": 0.8646342,
"ops_rank": 72.0,
"war_value": 0.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 17.7,
"bb_percent": 5.4,
"woba": 0.369,
"xwoba": 0.317,
"xba": 0.268,
"xslg": 0.414,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 26.9,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 12.4,
"whiff_percent": 22.6,
"swing_percent": 55.1
},
"components": {
"expected_quality": 0.1343,
"regression_edge": -1.4857,
"xwoba_edge": 0.4286,
"xba_edge": 0.8286,
"xslg_edge": 0.5929,
"barrel_edge": -0.1778,
"hard_hit_edge": -1.6214,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "671289",
"player_name": "Tyler Freeman",
"offense_factor": 0.9944,
"quality_score": -0.0747,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671289",
"espn_id": 40958,
"player_name": "Tyler Freeman",
"team": "COL",
"role": "batter",
"espn_rank": 588,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 588,
"gp_value": 60.0,
"gp_rank": 229,
"ab_value": 198.0,
"ab_rank": 218,
"r_value": 26.0,
"r_rank": 199,
"h_value": 53.0,
"h_rank": 185,
"avg_value": 0.2676767,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 273,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 23.0,
"rbi_rank": 219,
"tb_value": 70.0,
"tb_rank": 1505,
"bb_value": 10.0,
"bb_rank": 317,
"so_value": 29.0,
"so_rank": 318,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3497757,
"obp_rank": "-",
"slg_value": 0.3535353,
"slg_rank": "-",
"ops_value": 0.703311,
"ops_rank": null,
"war_value": -0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 126.0,
"k_percent": 12.7,
"bb_percent": 4.4,
"woba": 0.321,
"xwoba": 0.314,
"xba": 0.263,
"xslg": 0.344,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 9.8,
"whiff_percent": 12.7,
"swing_percent": 49.4
},
"components": {
"expected_quality": -0.1191,
"regression_edge": -0.2,
"xwoba_edge": 0.3429,
"xba_edge": 0.6857,
"xslg_edge": -0.4071,
"barrel_edge": -1.2889,
"hard_hit_edge": -0.7071,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "687859",
"player_name": "Troy Johnston",
"offense_factor": 1.0175,
"quality_score": 0.2337,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687859",
"espn_id": 4346111,
"player_name": "Troy Johnston",
"team": "COL",
"role": "batter",
"espn_rank": 300,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 300,
"gp_value": 82.0,
"gp_rank": 108,
"ab_value": 265.0,
"ab_rank": 126,
"r_value": 32.0,
"r_rank": 152,
"h_value": 83.0,
"h_rank": 59,
"avg_value": 0.3132075,
"avg_rank": 6.0,
"2b_value": 23.0,
"2b_rank": 3,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 39.0,
"rbi_rank": 92,
"tb_value": 115.0,
"tb_rank": 1369,
"bb_value": 27.0,
"bb_rank": 121,
"so_value": 51.0,
"so_rank": 179,
"sb_value": 4.0,
"sb_rank": 146,
"obp_value": 0.3833333,
"obp_rank": "14",
"slg_value": 0.4339622,
"slg_rank": "71",
"ops_value": 0.8172955,
"ops_rank": 85.0,
"war_value": 0.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 179.0,
"k_percent": 16.9,
"bb_percent": 9.0,
"woba": 0.361,
"xwoba": 0.333,
"xba": 0.285,
"xslg": 0.388,
"sweet_spot_percent": 41.7,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 13.6,
"whiff_percent": 22.8,
"swing_percent": 50.7
},
"components": {
"expected_quality": 0.4642,
"regression_edge": -0.8,
"xwoba_edge": 0.8857,
"xba_edge": 1.3143,
"xslg_edge": 0.2214,
"barrel_edge": -1.0444,
"hard_hit_edge": -0.15,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 1.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"offense_factor": 0.9775,
"quality_score": -0.2997,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678662",
"espn_id": 4905919,
"player_name": "Ezequiel Tovar",
"team": "COL",
"role": "batter",
"espn_rank": 490,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 490,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 293.0,
"ab_rank": 100,
"r_value": 29.0,
"r_rank": 178,
"h_value": 61.0,
"h_rank": 141,
"avg_value": 0.2081911,
"avg_rank": 154.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 30.0,
"rbi_rank": 159,
"tb_value": 98.0,
"tb_rank": 1105,
"bb_value": 16.0,
"bb_rank": 232,
"so_value": 84.0,
"so_rank": 43,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.25,
"obp_rank": "159",
"slg_value": 0.3344709,
"slg_rank": "151",
"ops_value": 0.5844709,
"ops_rank": 310.0,
"war_value": -0.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 196.0,
"k_percent": 26.6,
"bb_percent": 5.1,
"woba": 0.256,
"xwoba": 0.273,
"xba": 0.219,
"xslg": 0.365,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 17.8,
"whiff_percent": 29.3,
"swing_percent": 62.8
},
"components": {
"expected_quality": -0.4702,
"regression_edge": 0.4857,
"xwoba_edge": -0.8286,
"xba_edge": -0.5714,
"xslg_edge": -0.1071,
"barrel_edge": 0.0,
"hard_hit_edge": -0.7929,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away COL | True | 710 | -0.4490 | 0.7160 | 1.0382 | 0.9750 | 0.9456 | 1.0921 | positive_pitcher_regression | 0.3600 | 0.3940 | 19.20 | 5.10 | 22.80 | 10.60 | 43.60 | |
| Home LAD | True | 268 | -0.4340 | 0.7360 | 1.0369 | 0.9378 | 0.9926 | 1.0637 | neutral | 0.3450 | 0.3330 | 14.70 | 8.40 | 18.60 | 11.40 | 36 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away COL | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home LAD | True | None | 96 | 86.12 | 2015 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2045 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0272 |
| home_runs_vs_away_pitcher | 1.0274 |
| home_pitcher_quality_edge | 0.0150 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "641778",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 184.0,
"k_percent": 14.7,
"bb_percent": 8.4,
"woba": 0.333,
"xwoba": 0.345,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 36.0,
"avg_best_speed": 77.2269,
"avg_hyper_speed": 93.6341,
"whiff_percent": 18.6,
"swing_percent": 50.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.5782,
"command_and_miss": -0.8279,
"regression_edge": -0.3429,
"xwoba_edge": -0.9143,
"barrel_edge": -0.9111,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.9857,
"bb_edge": 0.125,
"pitch_design_score": -0.2045
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641778",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.1203,
"release_spin_rate": 2015.1551,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2045,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4605,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.434,
"sample_weight": 0.736,
"run_prevention_factor": 1.0369,
"strikeout_factor": 0.9378,
"walk_factor": 0.9926,
"homer_factor": 1.0637,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641778",
"espn_id": 39915,
"player_name": "Eric Lauer",
"team": "LAD",
"role": "pitcher",
"espn_rank": 268,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 268,
"gp_value": 14.0,
"gp_rank": 362,
"gs_value": 11.0,
"gs_rank": 120,
"qs_value": 3.0,
"qs_rank": 103,
"era_value": 4.8396,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 5.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 70.2,
"ip_rank": 114,
"h_value": 65.0,
"h_rank": 109,
"er_value": 38.0,
"er_rank": 76,
"hr_value": 17.0,
"hr_rank": 13,
"bb_value": 25.0,
"bb_rank": 101,
"k_value": 44.0,
"k_rank": 183,
"k_per_9_value": 5.6037736,
"k_per_9_rank": 43.0,
"whip_value": 1.2735,
"whip_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "607536",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 179.0,
"k_percent": 19.2,
"bb_percent": 5.1,
"woba": 0.394,
"xwoba": 0.36,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 43.6,
"avg_best_speed": 80.0861,
"avg_hyper_speed": 95.3118,
"whiff_percent": 22.8,
"swing_percent": 51.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -1.2174,
"command_and_miss": -0.1636,
"regression_edge": 0.9714,
"xwoba_edge": -1.3429,
"barrel_edge": -0.7333,
"hard_hit_edge": -0.7429,
"whiff_edge": -0.3857,
"bb_edge": 0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "607536",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.449,
"sample_weight": 0.716,
"run_prevention_factor": 1.0382,
"strikeout_factor": 0.975,
"walk_factor": 0.9456,
"homer_factor": 1.0921,
"woba_minus_xwoba": 0.034,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "607536",
"espn_id": 33839,
"player_name": "Kyle Freeland",
"team": "COL",
"role": "pitcher",
"espn_rank": 710,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 710,
"gp_value": 15.0,
"gp_rank": 342,
"gs_value": 15.0,
"gs_rank": 79,
"qs_value": 2.0,
"qs_rank": 127,
"era_value": 7.2467,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 77.0,
"ip_rank": 101,
"h_value": 105.0,
"h_rank": 5,
"er_value": 62.0,
"er_rank": 3,
"hr_value": 16.0,
"hr_rank": 18,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 68.0,
"k_rank": 91,
"k_per_9_value": 7.948052,
"k_per_9_rank": 24.0,
"whip_value": 1.5974,
"whip_rank": null,
"war_value": -0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0272,
"home_runs_vs_away_pitcher": 1.0274,
"home_pitcher_quality_edge": 0.015
},
"score_before": {
"away_runs": 4.6814,
"home_runs": 9.1834
},
"score_after": {
"away_runs": 4.8085,
"home_runs": 9.4345,
"home_win_probability": 0.8935
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away COL | 4-6 | 0.400 | 7 | 5.70 | 13 | hot | weak | |
| Home LAD | 7-3 | 0.700 | 5.90 | 3.80 | 21 | hot | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away COL | 37-54 | 0.407 | -79 | -0.868 | True |
| Home LAD | 59-32 | 0.648 | 163 | 1.791 | True |
| Signal | - | - | 2.659 | 3.022 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target COL | - | - | 1 | - | - | - | - |
| Game target LAD | - | - | 6 | - | - | - | - |
| Player finalized COL | 32 | 9 | 5 | 0 | 3 | 0 | 8 |
| Player finalized LAD | 33 | 9 | 8 | 0 | 7 | 2 | 8 |
| Player model fractional COL | 31.88 | 7.87 | 4.62 | 1.13 | 4.55 | 2.72 | 7.31 |
| Player model fractional LAD | 32.30 | 8.88 | 5.72 | 1.37 | 5.24 | 3.79 | 6.79 |
| Simulation box COL | 30 | 3 | 2 | 0 | 2 | 5 | 5 |
| Simulation box LAD | 34 | 10 | 6 | 1 | 6 | 2 | 8 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away COL | Starter | Kyle Freeland | 4.20 | 5 | 6 | 8 | 1 | 6.39 | 1.50 | True |
| Away COL | Middle Reliever | Antonio Senzatela | 1.10 | 0 | 1 | 0 | 0 | 5.99 | 1.63 | True |
| Away COL | Middle Reliever | Jimmy Herget | 1 | 0 | 1 | 1 | 0 | 3.79 | 1.16 | True |
| Away COL | Middle Reliever | Victor Vodnik | 1 | 1 | 0 | 1 | 1 | 3.61 | 1.33 | True |
| Home LAD | Starter | Eric Lauer | 5.10 | 2 | 3 | 3 | 3 | 4.01 | 1.21 | True |
| Home LAD | Middle Reliever | Edgardo Henriquez | 1 | 0 | 0 | 0 | 0 | 2.58 | 0.86 | True |
| Home LAD | Middle Reliever | Tanner Scott | 2 | 0 | 1 | 0 | 0 | 2.31 | 0.93 | True |
| Home LAD | Middle Reliever | Alex Vesia | 0.20 | 0 | 1 | 0 | 2 | 3.21 | 1.21 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | LAD | batter | CF | Andy Pages | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 2.3600 | boost | better |
| home | LAD | batter | 2B | Miguel Rojas | better | 9 | 5 | 4 | 6 | 3 | predicted_RBI | 1.6900 | boost | better |
| away | COL | batter | 3B | Kyle Karros | better | 10 | 5 | 5 | 6 | 4 | predicted_BB | 1.5660 | boost | better |
| away | COL | batter | CF | Cole Carrigg | worse | 11 | 3 | 8 | 4 | 7 | predicted_BB | 1.5220 | boost | better |
| home | LAD | batter | SS | Mookie Betts | worse | 11 | 6 | 5 | 5 | 6 | predicted_SO | 1.4810 | boost | worse |
| home | LAD | batter | C | Dalton Rushing | better | 10 | 8 | 2 | 7 | 3 | predicted_H | 1.2600 | boost | better |
| away | COL | pitcher | Starter | Kyle Freeland | worse | 3 | 2 | 1 | 0 | 3 | predicted_IP | -1.1333 | deboost | worse |
| home | LAD | batter | RF | Kyle Tucker | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 1.1200 | boost | worse |
| home | LAD | batter | DH | Shohei Ohtani | better | 10 | 5 | 5 | 6 | 4 | predicted_AB | -1.0700 | deboost | worse |
| away | COL | batter | 1B | TJ Rumfield | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -1.0600 | deboost | worse |
| away | COL | batter | C | Hunter Goodman | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -1.0500 | deboost | worse |
| away | COL | batter | 2B | Willi Castro | worse | 10 | 0 | 10 | 1 | 9 | predicted_SO | -1.0400 | deboost | better |
| away | COL | pitcher | Middle Reliever | Victor Vodnik | better | 3 | 1 | 2 | 3 | 0 | predicted_ER | -1.0000 | deboost | better |
| home | LAD | pitcher | Middle Reliever | Tanner Scott | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| away | COL | batter | LF | Jake McCarthy | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.9200 | deboost | worse |
| home | LAD | batter | 3B | Max Muncy | better | 11 | 5 | 6 | 6 | 5 | predicted_SO | -0.8800 | deboost | better |
| away | COL | batter | DH | Troy Johnston | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8400 | deboost | worse |
| home | LAD | batter | 1B | Freddie Freeman | better | 11 | 5 | 6 | 6 | 5 | predicted_2B | 0.7500 | boost | better |
| home | LAD | batter | LF | Teoscar Hernández | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_R | -0.5960 | deboost | worse |
| away | COL | batter | RF | Tyler Freeman | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 0.5260 | boost | better |
| away | COL | batter | SS | Ezequiel Tovar | worse | 10 | 1 | 9 | 1 | 9 | predicted_AB | -0.5240 | deboost | worse |
| home | LAD | pitcher | Middle Reliever | Alex Vesia | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | COL | pitcher | Middle Reliever | Antonio Senzatela | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | LAD | pitcher | Starter | Eric Lauer | 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 | Kyle Freeland |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.4490 |
| ESPN Rank | 710 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.2000 |
| Pre ER | 5 |
| Pre H | 8 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 7.2468 |
| Season WHIP | 1.5974 |
| Role Avg IP | 5.1330 |
| Recent Avg IP | 5.8000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"opponent": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"edges": {
"quality_edge": -0.573,
"offense_edge": 0.0927,
"opponent_offense_edge": 0.1742,
"defense_strength": -0.2064,
"opponent_defense_weakness": -0.28,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9639,
"run_prevention": 1.0772,
"strikeout": 0.9689
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607536",
"profile": {
"available": true,
"pitcher_id": "607536",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 179.0,
"k_percent": 19.2,
"bb_percent": 5.1,
"woba": 0.394,
"xwoba": 0.36,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 43.6,
"avg_best_speed": 80.0861,
"avg_hyper_speed": 95.3118,
"whiff_percent": 22.8,
"swing_percent": 51.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -1.2174,
"command_and_miss": -0.1636,
"regression_edge": 0.9714,
"xwoba_edge": -1.3429,
"barrel_edge": -0.7333,
"hard_hit_edge": -0.7429,
"whiff_edge": -0.3857,
"bb_edge": 0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "607536",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.449,
"sample_weight": 0.716,
"run_prevention_factor": 1.0382,
"strikeout_factor": 0.975,
"walk_factor": 0.9456,
"homer_factor": 1.0921,
"woba_minus_xwoba": 0.034,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "607536",
"espn_id": 33839,
"player_name": "Kyle Freeland",
"team": "COL",
"role": "pitcher",
"espn_rank": 710,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 710,
"gp_value": 15.0,
"gp_rank": 342,
"gs_value": 15.0,
"gs_rank": 79,
"qs_value": 2.0,
"qs_rank": 127,
"era_value": 7.2467,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 77.0,
"ip_rank": 101,
"h_value": 105.0,
"h_rank": 5,
"er_value": 62.0,
"er_rank": 3,
"hr_value": 16.0,
"hr_rank": 18,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 68.0,
"k_rank": 91,
"k_per_9_value": 7.948052,
"k_per_9_rank": 24.0,
"whip_value": 1.5974,
"whip_rank": null,
"war_value": -0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0274,
"adjusted": 4
},
"predicted_H": {
"original": 9.0,
"factor": 1.0274,
"adjusted": 9
},
"predicted_BB": {
"original": 1.0,
"factor": 0.961,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0659,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9821,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 52.0,
"ER": 48,
"H": 79,
"BB": 10,
"SO": 44,
"HR": 12,
"ERA": 8.307692307692308,
"WHIP": 1.7115384615384615,
"K9": 7.615384615384615,
"HR9": 2.076923076923077,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "607536",
"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": "607536",
"report_date": "20260706_C",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.0,
"ER": 19.0,
"R": 19.0,
"H": 38.0,
"BB": 3.0,
"SO": 25.0,
"HR": 3.0,
"BF": 125.0,
"Pitches": 431.0
},
"per_game": {
"IP": 5.2,
"ER": 3.8,
"R": 3.8,
"H": 7.6,
"BB": 0.6,
"SO": 5.0,
"HR": 0.6,
"BF": 25.0,
"Pitches": 86.2
},
"rates": {
"ERA": 5.8966,
"WHIP": 1.4138,
"ER_per_IP": 0.65517,
"H_per_IP": 1.31034,
"BB_per_IP": 0.10345,
"SO_per_IP": 0.86207,
"HR_per_IP": 0.10345
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.0,
"ER": 48.0,
"R": 50.0,
"H": 79.0,
"BB": 10.0,
"SO": 44.0,
"HR": 12.0,
"BF": 244.0,
"Pitches": 860.0
},
"per_game": {
"IP": 5.1,
"ER": 4.8,
"R": 5.0,
"H": 7.9,
"BB": 1.0,
"SO": 4.4,
"HR": 1.2,
"BF": 24.4,
"Pitches": 86.0
},
"rates": {
"ERA": 8.3077,
"WHIP": 1.7115,
"ER_per_IP": 0.92308,
"H_per_IP": 1.51923,
"BB_per_IP": 0.19231,
"SO_per_IP": 0.84615,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 15,
"totals": {
"IP": 77.0,
"ER": 62.0,
"R": 64.0,
"H": 105.0,
"BB": 18.0,
"SO": 68.0,
"HR": 16.0,
"BF": 355.0,
"Pitches": 1287.0
},
"per_game": {
"IP": 5.0,
"ER": 4.1333,
"R": 4.2667,
"H": 7.0,
"BB": 1.2,
"SO": 4.5333,
"HR": 1.0667,
"BF": 23.6667,
"Pitches": 85.8
},
"rates": {
"ERA": 7.2468,
"WHIP": 1.5974,
"ER_per_IP": 0.80519,
"H_per_IP": 1.36364,
"BB_per_IP": 0.23377,
"SO_per_IP": 0.88312,
"HR_per_IP": 0.20779
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 3.832,
"predicted_H": 6.95,
"predicted_BB": 1.132,
"predicted_SO": 4.77,
"predicted_HR": 0.885,
"predicted_ERA": 6.392,
"predicted_WHIP": 1.4978
}
}{
"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.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.832,
"final": 3.9085,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 6.95,
"final": 6.9728,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.132,
"final": 1.0719,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.77,
"final": 5.3304,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.885,
"final": 0.9374,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.392,
"final": 6.392,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4978,
"final": 1.4978,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1030 |
| ESPN Rank | 61 |
| 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 |
| Season WHIP | 1.1556 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"opponent": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"edges": {
"quality_edge": -0.573,
"offense_edge": 0.0927,
"opponent_offense_edge": 0.1742,
"defense_strength": -0.2064,
"opponent_defense_weakness": -0.28,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9639,
"run_prevention": 1.0772,
"strikeout": 0.9689
},
"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": 19.8,
"bb_percent": 7.7,
"woba": 0.28,
"xwoba": 0.288,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 39.7,
"avg_best_speed": 75.8058,
"avg_hyper_speed": 93.9758,
"whiff_percent": 24.6,
"swing_percent": 49.2
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.5262,
"command_and_miss": -0.165,
"regression_edge": -0.2286,
"xwoba_edge": 0.7143,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.1857,
"whiff_edge": -0.1286,
"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.103,
"sample_weight": 0.45,
"run_prevention_factor": 0.9912,
"strikeout_factor": 0.9905,
"walk_factor": 0.9892,
"homer_factor": 0.9841,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622608",
"espn_id": 33750,
"player_name": "Antonio Senzatela",
"team": "COL",
"role": "pitcher",
"espn_rank": 61,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 61,
"gp_value": 26.0,
"gp_rank": 164,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.0,
"era_rank": null,
"w_value": 8.0,
"w_rank": 17,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 2.0,
"hld_rank": 178,
"ip_value": 45.0,
"ip_rank": 176,
"h_value": 38.0,
"h_rank": 191,
"er_value": 15.0,
"er_rank": 266,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 14.0,
"bb_rank": 256,
"k_value": 36.0,
"k_rank": 247,
"k_per_9_value": 7.2,
"k_per_9_rank": 37.0,
"whip_value": 1.1555,
"whip_rank": null,
"war_value": 1.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.996,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9928,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9957,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.0,
"ER": 10,
"H": 19,
"BB": 5,
"SO": 10,
"HR": 1,
"ERA": 7.500000000000001,
"WHIP": 2.0000000000000004,
"K9": 7.500000000000001,
"HR9": 0.7500000000000001,
"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-04T00: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.924,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6409,
"prior_weight": 0.3591
},
"role": "pitcher",
"player_id": "622608",
"report_date": "20260706_C",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 28.0,
"Pitches": 109.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.8,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 5.6,
"Pitches": 21.8
},
"rates": {
"ERA": 7.9412,
"WHIP": 1.9412,
"ER_per_IP": 0.88235,
"H_per_IP": 1.58824,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 10.0,
"R": 11.0,
"H": 19.0,
"BB": 5.0,
"SO": 10.0,
"HR": 1.0,
"BF": 58.0,
"Pitches": 220.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0,
"R": 1.1,
"H": 1.9,
"BB": 0.5,
"SO": 1.0,
"HR": 0.1,
"BF": 5.8,
"Pitches": 22.0
},
"rates": {
"ERA": 7.5,
"WHIP": 2.0,
"ER_per_IP": 0.83333,
"H_per_IP": 1.58333,
"BB_per_IP": 0.41667,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 26,
"totals": {
"IP": 45.0,
"ER": 15.0,
"R": 17.0,
"H": 38.0,
"BB": 14.0,
"SO": 36.0,
"HR": 3.0,
"BF": 182.0,
"Pitches": 661.0
},
"per_game": {
"IP": 1.2,
"ER": 0.5769,
"R": 0.6538,
"H": 1.4615,
"BB": 0.5385,
"SO": 1.3846,
"HR": 0.1154,
"BF": 7.0,
"Pitches": 25.4231
},
"rates": {
"ERA": 3.0,
"WHIP": 1.1556,
"ER_per_IP": 0.33333,
"H_per_IP": 0.84444,
"BB_per_IP": 0.31111,
"SO_per_IP": 0.8,
"HR_per_IP": 0.06667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.851,
"predicted_H": 1.625,
"predicted_BB": 0.465,
"predicted_SO": 1.07,
"predicted_HR": 0.103,
"predicted_ERA": 5.9863,
"predicted_WHIP": 1.6331
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5017,
"form_weight": 0.4983,
"form_reliability": 0.6409,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.924,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6409,
"prior_weight": 0.3591
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.851,
"final": 0.424,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.625,
"final": 0.8097,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.465,
"final": 0.2317,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.07,
"final": 1.0349,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.103,
"final": 0.0513,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.9863,
"final": 5.9863,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6331,
"final": 1.6331,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1269 |
| 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 | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.6818 |
| Season WHIP | 1.1818 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"opponent": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"edges": {
"quality_edge": -0.573,
"offense_edge": 0.0927,
"opponent_offense_edge": 0.1742,
"defense_strength": -0.2064,
"opponent_defense_weakness": -0.28,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9639,
"run_prevention": 1.0772,
"strikeout": 0.9689
},
"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.5,
"bb_percent": 6.4,
"woba": 0.316,
"xwoba": 0.292,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 41.9,
"avg_best_speed": 77.8725,
"avg_hyper_speed": 94.6652,
"whiff_percent": 30.9,
"swing_percent": 49.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.1111,
"command_and_miss": 0.5814,
"regression_edge": 0.6857,
"xwoba_edge": 0.6,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.5,
"whiff_edge": 0.7714,
"bb_edge": 0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623474",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1269,
"sample_weight": 0.45,
"run_prevention_factor": 0.9892,
"strikeout_factor": 1.0213,
"walk_factor": 0.9775,
"homer_factor": 1.0201,
"woba_minus_xwoba": 0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623474",
"espn_id": 36093,
"player_name": "Jimmy Herget",
"team": "COL",
"role": "pitcher",
"espn_rank": 190,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 190,
"gp_value": 22.0,
"gp_rank": 203,
"gs_value": 3.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.6818,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 5.0,
"hld_rank": 111,
"ip_value": 22.0,
"ip_rank": 402,
"h_value": 22.0,
"h_rank": 365,
"er_value": 9.0,
"er_rank": 419,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 6.0,
"bb_rank": 471,
"k_value": 24.0,
"k_rank": 361,
"k_per_9_value": 9.818182,
"k_per_9_rank": 24.0,
"whip_value": 1.2727,
"whip_rank": null,
"war_value": 0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.009,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0096,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 9,
"BB": 3,
"SO": 10,
"HR": 1,
"ERA": 5.0,
"WHIP": 1.3333333333333333,
"K9": 10.0,
"HR9": 1.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00: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.363,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.466,
"prior_weight": 0.534
},
"role": "pitcher",
"player_id": "623474",
"report_date": "20260706_C",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 70.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 14.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 7.0,
"R": 7.0,
"H": 13.0,
"BB": 3.0,
"SO": 13.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.3,
"BB": 0.3,
"SO": 1.3,
"HR": 0.2,
"BF": 4.6,
"Pitches": 18.5
},
"rates": {
"ERA": 6.3,
"WHIP": 1.6,
"ER_per_IP": 0.7,
"H_per_IP": 1.3,
"BB_per_IP": 0.3,
"SO_per_IP": 1.3,
"HR_per_IP": 0.2
}
},
"season": {
"games": 21,
"totals": {
"IP": 22.0,
"ER": 9.0,
"R": 9.0,
"H": 21.0,
"BB": 5.0,
"SO": 24.0,
"HR": 2.0,
"BF": 92.0,
"Pitches": 376.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4286,
"R": 0.4286,
"H": 1.0,
"BB": 0.2381,
"SO": 1.1429,
"HR": 0.0952,
"BF": 4.381,
"Pitches": 17.9048
},
"rates": {
"ERA": 3.6818,
"WHIP": 1.1818,
"ER_per_IP": 0.40909,
"H_per_IP": 0.95455,
"BB_per_IP": 0.22727,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.09091
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.421,
"predicted_H": 0.861,
"predicted_BB": 0.303,
"predicted_SO": 1.033,
"predicted_HR": 0.121,
"predicted_ERA": 3.7932,
"predicted_WHIP": 1.1636
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5756,
"form_weight": 0.4244,
"form_reliability": 0.466,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.363,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.466,
"prior_weight": 0.534
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.421,
"final": 0.1787,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.861,
"final": 0.941,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.303,
"final": 0.1286,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.033,
"final": 1.014,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.121,
"final": 0.0514,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7932,
"final": 3.7932,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1636,
"final": 1.1636,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.0995 |
| ESPN Rank | 548 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 5.0625 |
| Season WHIP | 1.6875 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"opponent": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"edges": {
"quality_edge": -0.573,
"offense_edge": 0.0927,
"opponent_offense_edge": 0.1742,
"defense_strength": -0.2064,
"opponent_defense_weakness": -0.28,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9639,
"run_prevention": 1.0772,
"strikeout": 0.9689
},
"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": 15.3,
"bb_percent": 14.5,
"woba": 0.366,
"xwoba": 0.325,
"sweet_spot_percent": 24.4,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 36.0,
"avg_best_speed": 78.3648,
"avg_hyper_speed": 93.8269,
"whiff_percent": 24.7,
"swing_percent": 46.2
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.2375,
"command_and_miss": -0.7893,
"regression_edge": 1.1714,
"xwoba_edge": -0.3429,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.1143,
"bb_edge": -1.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "680767",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0995,
"sample_weight": 0.45,
"run_prevention_factor": 1.0085,
"strikeout_factor": 0.9792,
"walk_factor": 1.0504,
"homer_factor": 0.9969,
"woba_minus_xwoba": 0.041,
"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": 548,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 548,
"gp_value": 25.0,
"gp_rank": 173,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 6.075,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 4.0,
"sv_rank": 39,
"hld_value": 4.0,
"hld_rank": 142,
"ip_value": 26.2,
"ip_rank": 357,
"h_value": 30.0,
"h_rank": 268,
"er_value": 18.0,
"er_rank": 213,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 19.0,
"k_rank": 407,
"k_per_9_value": 6.4125004,
"k_per_9_rank": 30.0,
"whip_value": 1.8,
"whip_rank": null,
"war_value": -0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0038,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0227,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9986,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9906,
"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": 6,
"SO": 5,
"HR": 1,
"ERA": 2.612903225806452,
"WHIP": 1.2580645161290325,
"K9": 4.35483870967742,
"HR9": 0.870967741935484,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "680767",
"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.288,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.514,
"prior_weight": 0.486
},
"role": "pitcher",
"player_id": "680767",
"report_date": "20260706_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 3.0,
"SO": 3.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.6,
"SO": 0.6,
"HR": 0.2,
"BF": 5.2,
"Pitches": 20.0
},
"rates": {
"ERA": 1.2857,
"WHIP": 1.0,
"ER_per_IP": 0.14286,
"H_per_IP": 0.57143,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.14286
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 4.0,
"R": 4.0,
"H": 10.0,
"BB": 7.0,
"SO": 5.0,
"HR": 1.0,
"BF": 48.0,
"Pitches": 182.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.7,
"SO": 0.5,
"HR": 0.1,
"BF": 4.8,
"Pitches": 18.2
},
"rates": {
"ERA": 3.2727,
"WHIP": 1.5455,
"ER_per_IP": 0.36364,
"H_per_IP": 0.90909,
"BB_per_IP": 0.63636,
"SO_per_IP": 0.45455,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 24,
"totals": {
"IP": 26.2,
"ER": 15.0,
"R": 16.0,
"H": 29.0,
"BB": 16.0,
"SO": 19.0,
"HR": 3.0,
"BF": 121.0,
"Pitches": 451.0
},
"per_game": {
"IP": 1.0,
"ER": 0.625,
"R": 0.6667,
"H": 1.2083,
"BB": 0.6667,
"SO": 0.7917,
"HR": 0.125,
"BF": 5.0417,
"Pitches": 18.7917
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.6875,
"ER_per_IP": 0.5625,
"H_per_IP": 1.0875,
"BB_per_IP": 0.6,
"SO_per_IP": 0.7125,
"HR_per_IP": 0.1125
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.302,
"predicted_H": 0.662,
"predicted_BB": 0.338,
"predicted_SO": 0.541,
"predicted_HR": 0.1,
"predicted_ERA": 3.6113,
"predicted_WHIP": 1.3277
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5553,
"form_weight": 0.4447,
"form_reliability": 0.514,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.288,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.514,
"prior_weight": 0.486
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.302,
"final": 1.245,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.662,
"final": 1.405,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.338,
"final": 0.7056,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.541,
"final": 0.2406,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.1,
"final": 0.0445,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6113,
"final": 3.6113,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3277,
"final": 1.3277,
"source": "form_only"
}
}
}{
"available": false,
"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.173 | 0.000 | 0.000 | Hitting_2B | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.070 | 4.000 | 4.000 | Hitting_AB | 3.662 | 1.000 | 0.338 | 3.000 |
| predicted_AVG | 0.240 | 0.250 | 0.250 | Hitting_AVG | 0.262 | 1.000 | -0.012 | -0.750 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 0.980 | 1.000 | 1.000 | Hitting_H | 0.960 | 1.000 | 0.040 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.303 | 0.250 | 0.250 | Hitting_OBP | 0.323 | 1.000 | -0.073 | -0.750 |
| predicted_R | 0.507 | 0.000 | 0.000 | Hitting_R | 0.547 | 0.000 | -0.547 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_SLG | 0.358 | 0.250 | 0.250 | Hitting_SLG | 0.360 | 1.000 | -0.110 | -0.750 |
| predicted_SO | 1.040 | 0.000 | 1.000 | Hitting_SO | 1.184 | 0.000 | -1.184 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0400 -> 0.0000 (deboost -1.0400, 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: 4.0700 -> 3.8804 (deboost -0.1896, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3025 -> 0.2838 (deboost -0.0187, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_AB: 3.8804 -> 4.0000 (boost 0.1196, better) | predicted_RBI: 0.4132 -> 0.0000 (deboost -0.4132, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.221 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4609 -> 0.0000 (deboost -0.4609, 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.3351 -> 0.2500 (deboost -0.0851, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3351 (boost 0.0851, 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": "650489",
"player_name": "Willi Castro",
"position": "2B",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.24,
"predicted_BB": 0.333,
"predicted_H": 0.98,
"predicted_HR": 0.1,
"predicted_OBP": 0.303,
"predicted_R": 0.507,
"predicted_RBI": 0.46,
"predicted_SLG": 0.358,
"predicted_SO": 1.04
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1472,
"predicted_3B": 0.0004,
"predicted_AB": 3.8804,
"predicted_AVG": 0.2414,
"predicted_BB": 0.2869,
"predicted_H": 0.9381,
"predicted_HBP": 0.088,
"predicted_HR": 0.0886,
"predicted_OBP": 0.3025,
"predicted_R": 0.4981,
"predicted_RBI": 0.4465,
"predicted_SLG": 0.3482,
"predicted_SO": 1.0819
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.1472,
"delta": -0.0258,
"percent_delta": -0.1491,
"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": 3.8804,
"delta": -0.1896,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2414,
"delta": 0.0014,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.2869,
"delta": -0.0461,
"percent_delta": -0.1384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9381,
"delta": -0.0419,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0886,
"delta": -0.0114,
"percent_delta": -0.114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3025,
"delta": -0.0005,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.507,
"after": 0.4981,
"delta": -0.0089,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4465,
"delta": -0.0135,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3482,
"delta": -0.0098,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.04,
"after": 1.0819,
"delta": 0.0419,
"percent_delta": 0.0403,
"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.07,
"after": 3.8804,
"delta": -0.1896,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1472,
"predicted_3B": 0.0004,
"predicted_AB": 3.8804,
"predicted_AVG": 0.2316,
"predicted_BB": 0.283,
"predicted_H": 0.8986,
"predicted_HBP": 0.088,
"predicted_HR": 0.0846,
"predicted_OBP": 0.2838,
"predicted_R": 0.4609,
"predicted_RBI": 0.4132,
"predicted_SLG": 0.3351,
"predicted_SO": 1.0965
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1472,
"after": 0.1472,
"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.8804,
"after": 3.8804,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2414,
"after": 0.2316,
"delta": -0.0098,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2869,
"after": 0.283,
"delta": -0.0039,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9381,
"after": 0.8986,
"delta": -0.0395,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0886,
"after": 0.0846,
"delta": -0.004,
"percent_delta": -0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3025,
"after": 0.2838,
"delta": -0.0187,
"percent_delta": -0.0618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4981,
"after": 0.4609,
"delta": -0.0372,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4465,
"after": 0.4132,
"delta": -0.0333,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3482,
"after": 0.3351,
"delta": -0.0131,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0819,
"after": 1.0965,
"delta": 0.0146,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3025,
"after": 0.2838,
"delta": -0.0187,
"percent_delta": -0.0618,
"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.221 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.1472,
"after": 0.0,
"delta": -0.1472,
"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.8804,
"after": 4.0,
"delta": 0.1196,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 0.0,
"delta": -0.283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8986,
"after": 1.0,
"delta": 0.1014,
"percent_delta": 0.1128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0846,
"after": 0.0,
"delta": -0.0846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4132,
"after": 0.0,
"delta": -0.4132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0965,
"after": 1.0,
"delta": -0.0965,
"percent_delta": -0.088,
"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.8804,
"after": 4.0,
"delta": 0.1196,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4132,
"after": 0.0,
"delta": -0.4132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4609,
"after": 0.0,
"delta": -0.4609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4609,
"after": 0.0,
"delta": -0.4609,
"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.2838,
"after": 0.25,
"delta": -0.0338,
"percent_delta": -0.1191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3351,
"after": 0.25,
"delta": -0.0851,
"percent_delta": -0.254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3351,
"after": 0.25,
"delta": -0.0851,
"percent_delta": -0.254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2316,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2838,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3351,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2838,
"delta": 0.0338,
"percent_delta": 0.1353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3351,
"delta": 0.0851,
"percent_delta": 0.3404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3351,
"delta": 0.0851,
"percent_delta": 0.3404,
"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.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 4.0,
"delta": -0.07,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2316,
"delta": -0.0084,
"percent_delta": -0.035,
"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.98,
"after": 1.0,
"delta": 0.02,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2838,
"delta": -0.0192,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.507,
"after": 0.0,
"delta": -0.507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3351,
"delta": -0.0229,
"percent_delta": -0.064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"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.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.507 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 1.040 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.026 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.880 | -0.190 |
| predicted_AVG | 0.241 | 0.001 |
| predicted_BB | 0.287 | -0.046 |
| predicted_H | 0.938 | -0.042 |
| predicted_HBP | 0.088 | - |
| predicted_HR | 0.089 | -0.011 |
| predicted_OBP | 0.302 | -0.001 |
| predicted_R | 0.498 | -0.009 |
| predicted_RBI | 0.447 | -0.014 |
| predicted_SLG | 0.348 | -0.010 |
| predicted_SO | 1.082 | 0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.880 | 0.000 |
| predicted_AVG | 0.232 | -0.010 |
| predicted_BB | 0.283 | -0.004 |
| predicted_H | 0.899 | -0.040 |
| predicted_HBP | 0.088 | 0.000 |
| predicted_HR | 0.085 | -0.004 |
| predicted_OBP | 0.284 | -0.019 |
| predicted_R | 0.461 | -0.037 |
| predicted_RBI | 0.413 | -0.033 |
| predicted_SLG | 0.335 | -0.013 |
| predicted_SO | 1.097 | 0.015 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.221 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.147 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.120 |
| predicted_AVG | 0.250 | 0.018 |
| predicted_BB | 0.000 | -0.283 |
| predicted_H | 1.000 | 0.101 |
| predicted_HR | 0.000 | -0.085 |
| predicted_OBP | 0.250 | -0.034 |
| predicted_R | 0.000 | -0.461 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.250 | -0.085 |
| predicted_SO | 1.000 | -0.097 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 17.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 7.000 | 0.1765 | 0.2222 | 0.1765 | 0.1765 | 0.0000 | 0.1177 | 0.0000 | 0.4118 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 1.000 | 13.000 | 0.2308 | 0.2683 | 0.3077 | 0.2308 | 0.0256 | 0.0769 | 0.0256 | 0.3333 |
| season | 0.60 | 75 | - | 268.000 | 72.000 | 13.000 | 0.000 | 6.000 | 35.000 | 38.000 | 25.000 | 78.000 | 0.2687 | 0.3389 | 0.3843 | 0.2687 | 0.0224 | 0.1306 | 0.0933 | 0.2910 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6220 |
| predicted_AVG | 0.2432 |
| predicted_BB | 0.2240 |
| predicted_H | 0.8810 |
| predicted_HBP | 0.0880 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.3019 |
| predicted_R | 0.4860 |
| predicted_RBI | 0.4280 |
| predicted_SLG | 0.3349 |
| predicted_SO | 1.1390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1120 | 0.1472 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0700 | 3.6220 | 3.8804 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2432 | 0.2414 | model_form_blend |
| predicted_BB | 0.3330 | 0.2240 | 0.2869 | model_form_blend |
| predicted_H | 0.9800 | 0.8810 | 0.9381 | model_form_blend |
| predicted_HBP | - | 0.0880 | 0.0880 | form_only |
| predicted_HR | 0.1000 | 0.0730 | 0.0886 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3019 | 0.3025 | model_form_blend |
| predicted_R | 0.5070 | 0.4860 | 0.4981 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4280 | 0.4465 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3349 | 0.3482 | model_form_blend |
| predicted_SO | 1.0400 | 1.1390 | 1.0819 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 201 |
| Season rows before report date | 201 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-SS |
| gameID | 20260705_SF@COL |
| game_type | ph |
| mlbID | 650489 |
| note | Singled for Tovar in the 7th. |
| playerID | 650489 |
| playerName | Willi Castro |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.323 |
| sl_xwoba | 0.303 |
| sl_xba | 0.239 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 41.4 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 29.9 |
| 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.235 | 0.000 | 0.000 | Hitting_2B | 0.218 | 1.000 | -0.218 | -1.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.770 | 4.000 | 4.000 | Hitting_AB | 3.722 | 4.000 | 0.278 | 0.000 |
| predicted_AVG | 0.281 | 0.000 | 0.250 | Hitting_AVG | 0.287 | 0.750 | -0.287 | -0.750 |
| predicted_BB | 0.388 | 0.000 | 0.000 | Hitting_BB | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 0.000 | 1.000 | Hitting_H | 1.069 | 3.000 | -1.069 | -3.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_OBP | 0.390 | 0.000 | 0.250 | Hitting_OBP | 0.366 | 0.750 | -0.366 | -0.750 |
| predicted_R | 0.494 | 0.000 | 1.000 | Hitting_R | 0.488 | 2.000 | -0.488 | -2.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_SLG | 0.465 | 0.000 | 0.250 | Hitting_SLG | 0.470 | 1.000 | -0.470 | -1.000 |
| predicted_SO | 0.576 | 1.000 | 1.000 | Hitting_SO | 0.605 | 0.000 | 0.395 | 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.5760 -> 1.0000 (boost 0.4240, worse) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 1.0600 -> 1.1334 (boost 0.0734, better) | predicted_AB: 3.7700 -> 3.6654 (deboost -0.1046, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.4052 -> 0.3624 (deboost -0.0428, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.5552 -> 1.0000 (boost 0.4448, worse) | predicted_RBI: 0.4454 -> 0.0000 (deboost -0.4454, worse) | AB rounded to 4 (raw=3.77), rates preserved: AVG=0.288 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5141 -> 1.0000 (boost 0.4859, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4536 -> 0.2500 (deboost -0.2036, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4536 (boost 0.2036, 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.235,
"predicted_3B": 0.024,
"predicted_AB": 3.77,
"predicted_AVG": 0.281,
"predicted_BB": 0.388,
"predicted_H": 1.06,
"predicted_HR": 0.1,
"predicted_OBP": 0.39,
"predicted_R": 0.494,
"predicted_RBI": 0.48,
"predicted_SLG": 0.465,
"predicted_SO": 0.576
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2696,
"predicted_3B": 0.0197,
"predicted_AB": 3.6654,
"predicted_AVG": 0.3102,
"predicted_BB": 0.3859,
"predicted_H": 1.1334,
"predicted_HBP": 0.1,
"predicted_HR": 0.0936,
"predicted_OBP": 0.4052,
"predicted_R": 0.5555,
"predicted_RBI": 0.4813,
"predicted_SLG": 0.4883,
"predicted_SO": 0.5478
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2696,
"delta": 0.0346,
"percent_delta": 0.1472,
"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": 3.77,
"after": 3.6654,
"delta": -0.1046,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.3102,
"delta": 0.0292,
"percent_delta": 0.1039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.3859,
"delta": -0.0021,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.1334,
"delta": 0.0734,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0936,
"delta": -0.0064,
"percent_delta": -0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.4052,
"delta": 0.0152,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.5555,
"delta": 0.0615,
"percent_delta": 0.1245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4813,
"delta": 0.0013,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4883,
"delta": 0.0233,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.576,
"after": 0.5478,
"delta": -0.0282,
"percent_delta": -0.049,
"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": 1.06,
"after": 1.1334,
"delta": 0.0734,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 3.6654,
"delta": -0.1046,
"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": 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.2696,
"predicted_3B": 0.0197,
"predicted_AB": 3.6654,
"predicted_AVG": 0.2962,
"predicted_BB": 0.3807,
"predicted_H": 1.0857,
"predicted_HBP": 0.1,
"predicted_HR": 0.0893,
"predicted_OBP": 0.3624,
"predicted_R": 0.5141,
"predicted_RBI": 0.4454,
"predicted_SLG": 0.4536,
"predicted_SO": 0.5552
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2696,
"after": 0.2696,
"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": 3.6654,
"after": 3.6654,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3102,
"after": 0.2962,
"delta": -0.014,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3859,
"after": 0.3807,
"delta": -0.0052,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1334,
"after": 1.0857,
"delta": -0.0477,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0936,
"after": 0.0893,
"delta": -0.0043,
"percent_delta": -0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4052,
"after": 0.3624,
"delta": -0.0428,
"percent_delta": -0.1056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5555,
"after": 0.5141,
"delta": -0.0414,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4813,
"after": 0.4454,
"delta": -0.0359,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4883,
"after": 0.4536,
"delta": -0.0347,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5478,
"after": 0.5552,
"delta": 0.0074,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4052,
"after": 0.3624,
"delta": -0.0428,
"percent_delta": -0.1056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.77), rates preserved: AVG=0.288 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2696,
"after": 0.0,
"delta": -0.2696,
"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": 3.6654,
"after": 4.0,
"delta": 0.3346,
"percent_delta": 0.0913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3807,
"after": 0.0,
"delta": -0.3807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0857,
"after": 1.0,
"delta": -0.0857,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0893,
"after": 0.0,
"delta": -0.0893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4454,
"after": 0.0,
"delta": -0.4454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5552,
"after": 1.0,
"delta": 0.4448,
"percent_delta": 0.8012,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5552,
"after": 1.0,
"delta": 0.4448,
"percent_delta": 0.8012,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4454,
"after": 0.0,
"delta": -0.4454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5141,
"after": 1.0,
"delta": 0.4859,
"percent_delta": 0.9451,
"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.5141,
"after": 1.0,
"delta": 0.4859,
"percent_delta": 0.9451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2962,
"after": 0.25,
"delta": -0.0462,
"percent_delta": -0.156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3624,
"after": 0.25,
"delta": -0.1124,
"percent_delta": -0.3102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4536,
"after": 0.25,
"delta": -0.2036,
"percent_delta": -0.4489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4536,
"after": 0.25,
"delta": -0.2036,
"percent_delta": -0.4489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2962,
"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.3624,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4536,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2962,
"delta": 0.0462,
"percent_delta": 0.1848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3624,
"delta": 0.1124,
"percent_delta": 0.4497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4536,
"delta": 0.2036,
"percent_delta": 0.8145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4536,
"delta": 0.2036,
"percent_delta": 0.8145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 4.0,
"delta": 0.23,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2962,
"delta": 0.0152,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.39,
"after": 0.3624,
"delta": -0.0276,
"percent_delta": -0.0708,
"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.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4536,
"delta": -0.0114,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.576,
"after": 1.0,
"delta": 0.424,
"percent_delta": 0.7361,
"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.576,
"after": 1.0,
"delta": 0.424,
"percent_delta": 0.7361,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.388 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.390 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.465 | - |
| predicted_SO | 0.576 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.270 | 0.035 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.665 | -0.105 |
| predicted_AVG | 0.310 | 0.029 |
| predicted_BB | 0.386 | -0.002 |
| predicted_H | 1.133 | 0.073 |
| predicted_HBP | 0.100 | - |
| predicted_HR | 0.094 | -0.006 |
| predicted_OBP | 0.405 | 0.015 |
| predicted_R | 0.555 | 0.061 |
| predicted_RBI | 0.481 | 0.001 |
| predicted_SLG | 0.488 | 0.023 |
| predicted_SO | 0.548 | -0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.270 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.665 | 0.000 |
| predicted_AVG | 0.296 | -0.014 |
| predicted_BB | 0.381 | -0.005 |
| predicted_H | 1.086 | -0.048 |
| predicted_HBP | 0.100 | 0.000 |
| predicted_HR | 0.089 | -0.004 |
| predicted_OBP | 0.362 | -0.043 |
| predicted_R | 0.514 | -0.041 |
| predicted_RBI | 0.445 | -0.036 |
| predicted_SLG | 0.454 | -0.035 |
| predicted_SO | 0.555 | 0.007 |
AB rounded to 4 (raw=3.77), rates preserved: AVG=0.288 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.270 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.335 |
| predicted_AVG | 0.250 | -0.046 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | -0.086 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.112 |
| predicted_R | 1.000 | 0.486 |
| predicted_RBI | 0.000 | -0.445 |
| predicted_SLG | 0.250 | -0.204 |
| 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 | 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 | 7.000 | 2.000 | 0.000 | 0.000 | 2.000 | 5.000 | 1.000 | 2.000 | 0.4375 | 0.5000 | 0.5625 | 0.4375 | 0.0000 | 0.1250 | 0.0625 | 0.1250 |
| last_10 | 0.20 | 10 | - | 34.000 | 15.000 | 5.000 | 0.000 | 0.000 | 4.000 | 7.000 | 6.000 | 3.000 | 0.4412 | 0.5366 | 0.5882 | 0.4412 | 0.0000 | 0.1177 | 0.1765 | 0.0882 |
| season | 0.60 | 85 | - | 309.000 | 94.000 | 20.000 | 2.000 | 12.000 | 46.000 | 42.000 | 33.000 | 49.000 | 0.3042 | 0.3811 | 0.4984 | 0.3042 | 0.0388 | 0.1489 | 0.1068 | 0.1586 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3160 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.5250 |
| predicted_AVG | 0.3495 |
| predicted_BB | 0.3830 |
| predicted_H | 1.2320 |
| predicted_HBP | 0.1000 |
| predicted_HR | 0.0850 |
| predicted_OBP | 0.4257 |
| predicted_R | 0.6380 |
| predicted_RBI | 0.4830 |
| predicted_SLG | 0.5197 |
| predicted_SO | 0.5100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.3160 | 0.2696 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 3.7700 | 3.5250 | 3.6654 | model_form_blend |
| predicted_AVG | 0.2810 | 0.3495 | 0.3102 | model_form_blend |
| predicted_BB | 0.3880 | 0.3830 | 0.3859 | model_form_blend |
| predicted_H | 1.0600 | 1.2320 | 1.1334 | model_form_blend |
| predicted_HBP | - | 0.1000 | 0.1000 | form_only |
| predicted_HR | 0.1000 | 0.0850 | 0.0936 | model_form_blend |
| predicted_OBP | 0.3900 | 0.4257 | 0.4052 | model_form_blend |
| predicted_R | 0.4940 | 0.6380 | 0.5555 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4830 | 0.4813 | model_form_blend |
| predicted_SLG | 0.4650 | 0.5197 | 0.4883 | model_form_blend |
| predicted_SO | 0.5760 | 0.5100 | 0.5478 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.304 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | 1B |
| gameID | 20260705_SF@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-05 |
| sl_k_percent | 14.1 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.381 |
| sl_xwoba | 0.326 |
| sl_xba | 0.255 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 29.5 |
| sl_exit_velocity_avg | 84.2 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 20.5 |
| 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.167 | 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.100 | 4.000 | 4.000 | Hitting_AB | 3.947 | 4.000 | 0.053 | 0.000 |
| predicted_AVG | 0.257 | 0.000 | 0.250 | Hitting_AVG | 0.249 | 0.500 | -0.249 | -0.500 |
| predicted_BB | 0.321 | 0.000 | 0.000 | Hitting_BB | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 1.050 | 0.000 | 1.000 | Hitting_H | 0.984 | 2.000 | -0.984 | -2.000 |
| predicted_HR | 0.270 | 0.000 | 0.000 | Hitting_HR | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_OBP | 0.341 | 0.000 | 0.250 | Hitting_OBP | 0.315 | 0.500 | -0.315 | -0.500 |
| predicted_R | 0.690 | 1.000 | 1.000 | Hitting_R | 0.687 | 1.000 | 0.313 | 0.000 |
| predicted_RBI | 0.660 | 1.000 | 1.000 | Hitting_RBI | 0.486 | 1.000 | 0.514 | 0.000 |
| predicted_SLG | 0.529 | 0.000 | 0.250 | Hitting_SLG | 0.509 | 0.500 | -0.509 | -0.500 |
| predicted_SO | 1.357 | 1.000 | 1.000 | Hitting_SO | 1.481 | 1.000 | -0.481 | 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_RBI: 0.6600 -> 1.0000 (boost 0.3400, better) |
| Biggest Deboost | predicted_H: 1.0500 -> 0.0000 (deboost -1.0500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 5 | 1 | predicted_R: 0.6900 -> 0.7425 (boost 0.0525, better) | predicted_AB: 4.1000 -> 3.9475 (deboost -0.1525, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_R: 0.7425 -> 0.6871 (deboost -0.0554, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.6278 -> 1.0000 (boost 0.3722, better) | predicted_BB: 0.3204 -> 0.0000 (deboost -0.3204, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.252 HR/AB=0.069 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6871 -> 1.0000 (boost 0.3129, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5203 -> 0.2500 (deboost -0.2703, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5203 (boost 0.2703, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696100",
"player_name": "Hunter Goodman",
"position": "C",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 4.1,
"predicted_AVG": 0.257,
"predicted_BB": 0.321,
"predicted_H": 1.05,
"predicted_HR": 0.27,
"predicted_OBP": 0.341,
"predicted_R": 0.69,
"predicted_RBI": 0.66,
"predicted_SLG": 0.529,
"predicted_SO": 1.357
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.0004,
"predicted_AB": 3.9475,
"predicted_AVG": 0.2742,
"predicted_BB": 0.3248,
"predicted_H": 1.0765,
"predicted_HBP": 0.028,
"predicted_HR": 0.2965,
"predicted_OBP": 0.3473,
"predicted_R": 0.7425,
"predicted_RBI": 0.6784,
"predicted_SLG": 0.5646,
"predicted_SO": 1.2989
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.173,
"delta": 0.006,
"percent_delta": 0.0359,
"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.9475,
"delta": -0.1525,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2742,
"delta": 0.0172,
"percent_delta": 0.0669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.3248,
"delta": 0.0038,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0765,
"delta": 0.0265,
"percent_delta": 0.0252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.2965,
"delta": 0.0265,
"percent_delta": 0.0981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3473,
"delta": 0.0063,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 0.7425,
"delta": 0.0525,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.6784,
"delta": 0.0184,
"percent_delta": 0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.529,
"after": 0.5646,
"delta": 0.0356,
"percent_delta": 0.0673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.357,
"after": 1.2989,
"delta": -0.0581,
"percent_delta": -0.0428,
"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_R",
"before": 0.69,
"after": 0.7425,
"delta": 0.0525,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9475,
"delta": -0.1525,
"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": 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.173,
"predicted_3B": 0.0004,
"predicted_AB": 3.9475,
"predicted_AVG": 0.2612,
"predicted_BB": 0.3204,
"predicted_H": 1.0312,
"predicted_HBP": 0.028,
"predicted_HR": 0.283,
"predicted_OBP": 0.3167,
"predicted_R": 0.6871,
"predicted_RBI": 0.6278,
"predicted_SLG": 0.5203,
"predicted_SO": 1.3164
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.173,
"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.9475,
"after": 3.9475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2742,
"after": 0.2612,
"delta": -0.013,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3248,
"after": 0.3204,
"delta": -0.0044,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0765,
"after": 1.0312,
"delta": -0.0453,
"percent_delta": -0.0421,
"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.2965,
"after": 0.283,
"delta": -0.0135,
"percent_delta": -0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3473,
"after": 0.3167,
"delta": -0.0306,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7425,
"after": 0.6871,
"delta": -0.0554,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6784,
"after": 0.6278,
"delta": -0.0506,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5646,
"after": 0.5203,
"delta": -0.0443,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2989,
"after": 1.3164,
"delta": 0.0175,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.7425,
"after": 0.6871,
"delta": -0.0554,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.10), rates preserved: AVG=0.252 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.173,
"after": 0.0,
"delta": -0.173,
"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.9475,
"after": 4.0,
"delta": 0.0525,
"percent_delta": 0.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3204,
"after": 0.0,
"delta": -0.3204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0312,
"after": 1.0,
"delta": -0.0312,
"percent_delta": -0.0303,
"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.283,
"after": 0.0,
"delta": -0.283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6278,
"after": 1.0,
"delta": 0.3722,
"percent_delta": 0.5929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3164,
"after": 1.0,
"delta": -0.3164,
"percent_delta": -0.2404,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6278,
"after": 1.0,
"delta": 0.3722,
"percent_delta": 0.5929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3204,
"after": 0.0,
"delta": -0.3204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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.6871,
"after": 1.0,
"delta": 0.3129,
"percent_delta": 0.4554,
"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.6871,
"after": 1.0,
"delta": 0.3129,
"percent_delta": 0.4554,
"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.2612,
"after": 0.25,
"delta": -0.0112,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3167,
"after": 0.25,
"delta": -0.0667,
"percent_delta": -0.2106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5203,
"after": 0.25,
"delta": -0.2703,
"percent_delta": -0.5195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5203,
"after": 0.25,
"delta": -0.2703,
"percent_delta": -0.5195,
"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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2612,
"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.3167,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5203,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2612,
"delta": 0.0112,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3167,
"delta": 0.0667,
"percent_delta": 0.2667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5203,
"delta": 0.2703,
"percent_delta": 1.0813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5203,
"delta": 0.2703,
"percent_delta": 1.0813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.1,
"after": 4.0,
"delta": -0.1,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2612,
"delta": 0.0042,
"percent_delta": 0.0163,
"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": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3167,
"delta": -0.0243,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.529,
"after": 0.5203,
"delta": -0.0087,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.357,
"after": 1.0,
"delta": -0.357,
"percent_delta": -0.2631,
"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_RBI",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.321 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.270 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.690 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.529 | - |
| predicted_SO | 1.357 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.000 | 0.000 |
| predicted_AB | 3.947 | -0.152 |
| predicted_AVG | 0.274 | 0.017 |
| predicted_BB | 0.325 | 0.004 |
| predicted_H | 1.077 | 0.026 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.296 | 0.026 |
| predicted_OBP | 0.347 | 0.006 |
| predicted_R | 0.743 | 0.053 |
| predicted_RBI | 0.678 | 0.018 |
| predicted_SLG | 0.565 | 0.036 |
| predicted_SO | 1.299 | -0.058 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.947 | 0.000 |
| predicted_AVG | 0.261 | -0.013 |
| predicted_BB | 0.320 | -0.004 |
| predicted_H | 1.031 | -0.045 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.283 | -0.014 |
| predicted_OBP | 0.317 | -0.031 |
| predicted_R | 0.687 | -0.055 |
| predicted_RBI | 0.628 | -0.051 |
| predicted_SLG | 0.520 | -0.044 |
| predicted_SO | 1.316 | 0.018 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.252 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 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.173 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.053 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.320 |
| predicted_H | 1.000 | -0.031 |
| predicted_HR | 0.000 | -0.283 |
| predicted_OBP | 0.250 | -0.067 |
| predicted_R | 1.000 | 0.313 |
| predicted_RBI | 1.000 | 0.372 |
| predicted_SLG | 0.250 | -0.270 |
| predicted_SO | 1.000 | -0.316 |
Attached simulation box 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 | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 5.000 | 2.000 | 5.000 | 0.4118 | 0.4737 | 0.6471 | 0.4118 | 0.0588 | 0.1765 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 39.000 | 13.000 | 2.000 | 0.000 | 6.000 | 12.000 | 11.000 | 3.000 | 12.000 | 0.3333 | 0.3721 | 0.8462 | 0.3333 | 0.1538 | 0.3077 | 0.0769 | 0.3077 |
| season | 0.60 | 84 | - | 319.000 | 81.000 | 14.000 | 0.000 | 27.000 | 51.000 | 58.000 | 27.000 | 114.000 | 0.2539 | 0.3182 | 0.5517 | 0.2539 | 0.0846 | 0.1599 | 0.0846 | 0.3574 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1810 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7430 |
| predicted_AVG | 0.2972 |
| predicted_BB | 0.3300 |
| predicted_H | 1.1120 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.3320 |
| predicted_OBP | 0.3558 |
| predicted_R | 0.8130 |
| predicted_RBI | 0.7030 |
| predicted_SLG | 0.6124 |
| predicted_SO | 1.2210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1810 | 0.1730 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1000 | 3.7430 | 3.9475 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2972 | 0.2742 | model_form_blend |
| predicted_BB | 0.3210 | 0.3300 | 0.3248 | model_form_blend |
| predicted_H | 1.0500 | 1.1120 | 1.0765 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.2700 | 0.3320 | 0.2965 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3558 | 0.3473 | model_form_blend |
| predicted_R | 0.6900 | 0.8130 | 0.7425 | model_form_blend |
| predicted_RBI | 0.6600 | 0.7030 | 0.6784 | model_form_blend |
| predicted_SLG | 0.5290 | 0.6124 | 0.5646 | model_form_blend |
| predicted_SO | 1.3570 | 1.2210 | 1.2989 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260705_SF@COL |
| game_type | full |
| mlbID | 696100 |
| playerID | 696100 |
| playerName | Hunter Goodman |
| pos | C |
| started | True |
| startingPosition | DH |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.368 |
| sl_xwoba | 0.332 |
| sl_xba | 0.235 |
| sl_xslg | 0.477 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 17.1 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 34.2 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.193 | 0.000 | 0.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.210 | 2.000 | 3.000 | Hitting_AB | 3.061 | 4.000 | -1.061 | -2.000 |
| predicted_AVG | 0.275 | 0.500 | 0.333 | Hitting_AVG | 0.242 | 0.250 | 0.258 | 0.250 |
| predicted_BB | 0.434 | 2.000 | 0.000 | Hitting_BB | 0.505 | 0.000 | 1.495 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 1.000 | 1.000 | Hitting_H | 0.741 | 1.000 | 0.259 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.061 | 1.000 | -0.061 | -1.000 |
| predicted_OBP | 0.369 | 0.750 | 0.333 | Hitting_OBP | 0.348 | 0.250 | 0.402 | 0.500 |
| predicted_R | 0.530 | 1.000 | 1.000 | Hitting_R | 0.476 | 1.000 | 0.524 | 0.000 |
| predicted_RBI | 0.500 | 1.000 | 0.000 | Hitting_RBI | 0.316 | 3.000 | 0.684 | -2.000 |
| predicted_SLG | 0.497 | 0.500 | 0.333 | Hitting_SLG | 0.365 | 1.000 | 0.135 | -0.500 |
| predicted_SO | 0.723 | 0.000 | 1.000 | Hitting_SO | 0.802 | 2.000 | -0.802 | -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_BB: 0.4340 -> 2.0000 (boost 1.5660, better) |
| Biggest Deboost | predicted_AB: 3.2100 -> 2.0000 (deboost -1.2100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_R: 0.5300 -> 0.6060 (boost 0.0760, better) | - | Final model input calibrated with local form: 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.5261 -> 0.5027 (deboost -0.0234, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7512 -> 1.0000 (boost 0.2488, worse) | predicted_RBI: 0.4709 -> 0.0000 (deboost -0.4709, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.270 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5608 -> 1.0000 (boost 0.4392, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2712 -> 0.3330 (boost 0.0618, better) | predicted_SLG: 0.5027 -> 0.3330 (deboost -0.1697, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.5027 (boost 0.1697, better) | predicted_AVG: 0.3330 -> 0.2712 (deboost -0.0618, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.193,
"predicted_3B": 0.024,
"predicted_AB": 3.21,
"predicted_AVG": 0.275,
"predicted_BB": 0.434,
"predicted_H": 0.88,
"predicted_HR": 0.15,
"predicted_OBP": 0.369,
"predicted_R": 0.53,
"predicted_RBI": 0.5,
"predicted_SLG": 0.497,
"predicted_SO": 0.723
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1888,
"predicted_3B": 0.0417,
"predicted_AB": 3.1935,
"predicted_AVG": 0.2836,
"predicted_BB": 0.4412,
"predicted_H": 0.9041,
"predicted_HBP": 0.094,
"predicted_HR": 0.1631,
"predicted_OBP": 0.3801,
"predicted_R": 0.606,
"predicted_RBI": 0.5089,
"predicted_SLG": 0.5261,
"predicted_SO": 0.7412
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.1888,
"delta": -0.0042,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0417,
"delta": 0.0177,
"percent_delta": 0.7375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.21,
"after": 3.1935,
"delta": -0.0165,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2836,
"delta": 0.0086,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.434,
"after": 0.4412,
"delta": 0.0072,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.9041,
"delta": 0.0241,
"percent_delta": 0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1631,
"delta": 0.0131,
"percent_delta": 0.0873,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3801,
"delta": 0.0111,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.53,
"after": 0.606,
"delta": 0.076,
"percent_delta": 0.1434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5089,
"delta": 0.0089,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.497,
"after": 0.5261,
"delta": 0.0291,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.723,
"after": 0.7412,
"delta": 0.0182,
"percent_delta": 0.0252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.53,
"after": 0.606,
"delta": 0.076,
"percent_delta": 0.1434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1888,
"predicted_3B": 0.0417,
"predicted_AB": 3.1935,
"predicted_AVG": 0.2712,
"predicted_BB": 0.4352,
"predicted_H": 0.866,
"predicted_HBP": 0.094,
"predicted_HR": 0.1557,
"predicted_OBP": 0.3586,
"predicted_R": 0.5608,
"predicted_RBI": 0.4709,
"predicted_SLG": 0.5027,
"predicted_SO": 0.7512
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1888,
"after": 0.1888,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0417,
"after": 0.0417,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1935,
"after": 3.1935,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2836,
"after": 0.2712,
"delta": -0.0124,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4412,
"after": 0.4352,
"delta": -0.006,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9041,
"after": 0.866,
"delta": -0.0381,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1631,
"after": 0.1557,
"delta": -0.0074,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3801,
"after": 0.3586,
"delta": -0.0215,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.606,
"after": 0.5608,
"delta": -0.0452,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5089,
"after": 0.4709,
"delta": -0.038,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5261,
"after": 0.5027,
"delta": -0.0234,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7412,
"after": 0.7512,
"delta": 0.01,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5261,
"after": 0.5027,
"delta": -0.0234,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.270 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.1888,
"after": 0.0,
"delta": -0.1888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0417,
"after": 0.0,
"delta": -0.0417,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1935,
"after": 3.0,
"delta": -0.1935,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4352,
"after": 0.0,
"delta": -0.4352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.866,
"after": 1.0,
"delta": 0.134,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1557,
"after": 0.0,
"delta": -0.1557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4709,
"after": 0.0,
"delta": -0.4709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7512,
"after": 1.0,
"delta": 0.2488,
"percent_delta": 0.3312,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7512,
"after": 1.0,
"delta": 0.2488,
"percent_delta": 0.3312,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4709,
"after": 0.0,
"delta": -0.4709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5608,
"after": 1.0,
"delta": 0.4392,
"percent_delta": 0.7832,
"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.5608,
"after": 1.0,
"delta": 0.4392,
"percent_delta": 0.7832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2712,
"after": 0.333,
"delta": 0.0618,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3586,
"after": 0.333,
"delta": -0.0256,
"percent_delta": -0.0714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5027,
"after": 0.333,
"delta": -0.1697,
"percent_delta": -0.3376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2712,
"after": 0.333,
"delta": 0.0618,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5027,
"after": 0.333,
"delta": -0.1697,
"percent_delta": -0.3376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2712,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3586,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5027,
"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": 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.2712,
"delta": -0.0618,
"percent_delta": -0.1856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3586,
"delta": 0.0256,
"percent_delta": 0.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5027,
"delta": 0.1697,
"percent_delta": 0.5095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.5027,
"delta": 0.1697,
"percent_delta": 0.5095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2712,
"delta": -0.0618,
"percent_delta": -0.1856,
"direction": "deboost",
"projection_effect": "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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.21,
"after": 2.0,
"delta": -1.21,
"percent_delta": -0.3769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2712,
"delta": -0.0038,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.434,
"after": 2.0,
"delta": 1.566,
"percent_delta": 3.6083,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3586,
"delta": -0.0104,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"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.497,
"after": 0.5027,
"delta": 0.0057,
"percent_delta": 0.0115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.723,
"after": 0.0,
"delta": -0.723,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.434,
"after": 2.0,
"delta": 1.566,
"percent_delta": 3.6083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.21,
"after": 2.0,
"delta": -1.21,
"percent_delta": -0.3769,
"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.193 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.210 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.434 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.369 | - |
| predicted_R | 0.530 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.497 | - |
| predicted_SO | 0.723 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | -0.004 |
| predicted_3B | 0.042 | 0.018 |
| predicted_AB | 3.193 | -0.017 |
| predicted_AVG | 0.284 | 0.009 |
| predicted_BB | 0.441 | 0.007 |
| predicted_H | 0.904 | 0.024 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.163 | 0.013 |
| predicted_OBP | 0.380 | 0.011 |
| predicted_R | 0.606 | 0.076 |
| predicted_RBI | 0.509 | 0.009 |
| predicted_SLG | 0.526 | 0.029 |
| predicted_SO | 0.741 | 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.189 | 0.000 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 3.193 | 0.000 |
| predicted_AVG | 0.271 | -0.012 |
| predicted_BB | 0.435 | -0.006 |
| predicted_H | 0.866 | -0.038 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.156 | -0.007 |
| predicted_OBP | 0.359 | -0.022 |
| predicted_R | 0.561 | -0.045 |
| predicted_RBI | 0.471 | -0.038 |
| predicted_SLG | 0.503 | -0.023 |
| predicted_SO | 0.751 | 0.010 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.270 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 | 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.189 |
| predicted_3B | 0.000 | -0.042 |
| predicted_AB | 3.000 | -0.193 |
| predicted_AVG | 0.333 | 0.062 |
| predicted_BB | 0.000 | -0.435 |
| predicted_H | 1.000 | 0.134 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.333 | -0.026 |
| predicted_R | 1.000 | 0.439 |
| predicted_RBI | 0.000 | -0.471 |
| predicted_SLG | 0.333 | -0.170 |
| predicted_SO | 1.000 | 0.249 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 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 | 6.000 | 0.000 | 1.000 | 2.000 | 4.000 | 6.000 | 2.000 | 4.000 | 0.3333 | 0.4286 | 0.7778 | 0.3333 | 0.1111 | 0.2222 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 30.000 | 11.000 | 3.000 | 1.000 | 3.000 | 8.000 | 9.000 | 6.000 | 8.000 | 0.3667 | 0.5000 | 0.8333 | 0.3667 | 0.1000 | 0.2667 | 0.2000 | 0.2667 |
| season | 0.60 | 83 | - | 247.000 | 66.000 | 16.000 | 2.000 | 7.000 | 29.000 | 44.000 | 36.000 | 60.000 | 0.2672 | 0.3646 | 0.4332 | 0.2672 | 0.0283 | 0.1174 | 0.1457 | 0.2429 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1830 |
| predicted_3B | 0.0660 |
| predicted_AB | 3.1710 |
| predicted_AVG | 0.2954 |
| predicted_BB | 0.4510 |
| predicted_H | 0.9370 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.3952 |
| predicted_R | 0.7100 |
| predicted_RBI | 0.5210 |
| predicted_SLG | 0.5659 |
| predicted_SO | 0.7660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.1830 | 0.1888 | model_form_blend |
| predicted_3B | 0.0240 | 0.0660 | 0.0417 | model_form_blend |
| predicted_AB | 3.2100 | 3.1710 | 3.1935 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2954 | 0.2836 | model_form_blend |
| predicted_BB | 0.4340 | 0.4510 | 0.4412 | model_form_blend |
| predicted_H | 0.8800 | 0.9370 | 0.9041 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.1500 | 0.1810 | 0.1631 | model_form_blend |
| predicted_OBP | 0.3690 | 0.3952 | 0.3801 | model_form_blend |
| predicted_R | 0.5300 | 0.7100 | 0.6060 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5210 | 0.5089 | model_form_blend |
| predicted_SLG | 0.4970 | 0.5659 | 0.5261 | model_form_blend |
| predicted_SO | 0.7230 | 0.7660 | 0.7412 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 212 |
| Season rows before report date | 212 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 691720 |
| playerID | 691720 |
| playerName | Kyle Karros |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.345 |
| sl_xwoba | 0.342 |
| sl_xba | 0.262 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 41.9 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 44.5 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 24.9 |
| 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.130 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.130 | 0.000 | 0.000 | Hitting_3B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_AB | 3.304 | 2.000 | 3.000 | Hitting_AB | 3.167 | 1.000 | -1.167 | 1.000 |
| predicted_AVG | 0.275 | 0.000 | 0.333 | Hitting_AVG | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_BB | 0.478 | 2.000 | 0.000 | Hitting_BB | 0.458 | 0.000 | 1.542 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.917 | 0.000 | -0.917 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.342 | 0.500 | 0.333 | Hitting_OBP | 0.374 | 0.000 | 0.126 | 0.500 |
| predicted_R | 0.783 | 0.000 | 1.000 | Hitting_R | 0.750 | 0.000 | -0.750 | 0.000 |
| predicted_RBI | 0.730 | 0.000 | 1.000 | Hitting_RBI | 0.792 | 0.000 | -0.792 | 0.000 |
| predicted_SLG | 0.515 | 0.000 | 0.333 | Hitting_SLG | 0.566 | 0.000 | -0.566 | 0.000 |
| predicted_SO | 0.826 | 0.000 | 1.000 | Hitting_SO | 0.792 | 1.000 | -0.792 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4780 -> 2.0000 (boost 1.5220, better) |
| Biggest Deboost | predicted_AB: 3.3040 -> 2.0000 (deboost -1.3040, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 0.7300 -> 0.8025 (boost 0.0725, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 1 | 4 | 1 | 4 | predicted_OBP: 0.3474 -> 0.3540 (boost 0.0066, better) | predicted_RBI: 0.8025 -> 0.7426 (deboost -0.0599, 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.7426 -> 1.0000 (boost 0.2574, better) | predicted_BB: 0.4279 -> 0.0000 (deboost -0.4279, worse) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.271 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7285 -> 1.0000 (boost 0.2715, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2712 -> 0.3330 (boost 0.0618, better) | predicted_SLG: 0.5210 -> 0.3330 (deboost -0.1880, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.5210 (boost 0.1880, better) | predicted_AVG: 0.3330 -> 0.2712 (deboost -0.0618, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.13,
"predicted_3B": 0.13,
"predicted_AB": 3.304,
"predicted_AVG": 0.275,
"predicted_BB": 0.478,
"predicted_H": 0.9,
"predicted_HR": 0.14,
"predicted_OBP": 0.342,
"predicted_R": 0.783,
"predicted_RBI": 0.73,
"predicted_SLG": 0.515,
"predicted_SO": 0.826
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1311,
"predicted_3B": 0.1413,
"predicted_AB": 3.3387,
"predicted_AVG": 0.2845,
"predicted_BB": 0.4338,
"predicted_H": 0.9453,
"predicted_HBP": 0.027,
"predicted_HR": 0.1468,
"predicted_OBP": 0.3474,
"predicted_R": 0.7872,
"predicted_RBI": 0.8025,
"predicted_SLG": 0.5369,
"predicted_SO": 0.8324
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.1311,
"delta": 0.0011,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.13,
"after": 0.1413,
"delta": 0.0113,
"percent_delta": 0.0869,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.304,
"after": 3.3387,
"delta": 0.0347,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2845,
"delta": 0.0095,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.478,
"after": 0.4338,
"delta": -0.0442,
"percent_delta": -0.0925,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9453,
"delta": 0.0453,
"percent_delta": 0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1468,
"delta": 0.0068,
"percent_delta": 0.0486,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3474,
"delta": 0.0054,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.783,
"after": 0.7872,
"delta": 0.0042,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.8025,
"delta": 0.0725,
"percent_delta": 0.0993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.515,
"after": 0.5369,
"delta": 0.0219,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.826,
"after": 0.8324,
"delta": 0.0064,
"percent_delta": 0.0077,
"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.73,
"after": 0.8025,
"delta": 0.0725,
"percent_delta": 0.0993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 23
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1311,
"predicted_3B": 0.1413,
"predicted_AB": 3.3387,
"predicted_AVG": 0.2712,
"predicted_BB": 0.4279,
"predicted_H": 0.9055,
"predicted_HBP": 0.027,
"predicted_HR": 0.1401,
"predicted_OBP": 0.354,
"predicted_R": 0.7285,
"predicted_RBI": 0.7426,
"predicted_SLG": 0.521,
"predicted_SO": 0.8436
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1311,
"after": 0.1311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1413,
"after": 0.1413,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3387,
"after": 3.3387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2845,
"after": 0.2712,
"delta": -0.0133,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4338,
"after": 0.4279,
"delta": -0.0059,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9453,
"after": 0.9055,
"delta": -0.0398,
"percent_delta": -0.0421,
"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.1468,
"after": 0.1401,
"delta": -0.0067,
"percent_delta": -0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3474,
"after": 0.354,
"delta": 0.0066,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7872,
"after": 0.7285,
"delta": -0.0587,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8025,
"after": 0.7426,
"delta": -0.0599,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5369,
"after": 0.521,
"delta": -0.0159,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8324,
"after": 0.8436,
"delta": 0.0112,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3474,
"after": 0.354,
"delta": 0.0066,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.8025,
"after": 0.7426,
"delta": -0.0599,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.34), rates preserved: AVG=0.271 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.1311,
"after": 0.0,
"delta": -0.1311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1413,
"after": 0.0,
"delta": -0.1413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3387,
"after": 3.0,
"delta": -0.3387,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4279,
"after": 0.0,
"delta": -0.4279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9055,
"after": 1.0,
"delta": 0.0945,
"percent_delta": 0.1044,
"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.1401,
"after": 0.0,
"delta": -0.1401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7426,
"after": 1.0,
"delta": 0.2574,
"percent_delta": 0.3466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8436,
"after": 1.0,
"delta": 0.1564,
"percent_delta": 0.1854,
"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.7426,
"after": 1.0,
"delta": 0.2574,
"percent_delta": 0.3466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4279,
"after": 0.0,
"delta": -0.4279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7285,
"after": 1.0,
"delta": 0.2715,
"percent_delta": 0.3727,
"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.7285,
"after": 1.0,
"delta": 0.2715,
"percent_delta": 0.3727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2712,
"after": 0.333,
"delta": 0.0618,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.333,
"delta": -0.021,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.521,
"after": 0.333,
"delta": -0.188,
"percent_delta": -0.3608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2712,
"after": 0.333,
"delta": 0.0618,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.521,
"after": 0.333,
"delta": -0.188,
"percent_delta": -0.3608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 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": 8,
"step": "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.2712,
"predicted_BB": 2.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.354,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.521,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2712,
"delta": -0.0618,
"percent_delta": -0.1855,
"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.354,
"delta": 0.021,
"percent_delta": 0.0631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.521,
"delta": 0.188,
"percent_delta": 0.5647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.521,
"delta": 0.188,
"percent_delta": 0.5647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2712,
"delta": -0.0618,
"percent_delta": -0.1855,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.304,
"after": 2.0,
"delta": -1.304,
"percent_delta": -0.3947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2712,
"delta": -0.0038,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.478,
"after": 2.0,
"delta": 1.522,
"percent_delta": 3.1841,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.354,
"delta": 0.012,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.783,
"after": 0.0,
"delta": -0.783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.515,
"after": 0.521,
"delta": 0.006,
"percent_delta": 0.0117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.826,
"after": 0.0,
"delta": -0.826,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.478,
"after": 2.0,
"delta": 1.522,
"percent_delta": 3.1841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.304,
"after": 2.0,
"delta": -1.304,
"percent_delta": -0.3947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | - |
| predicted_3B | 0.130 | - |
| predicted_AB | 3.304 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.478 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.783 | - |
| predicted_RBI | 0.730 | - |
| predicted_SLG | 0.515 | - |
| predicted_SO | 0.826 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 |
| predicted_3B | 0.141 | 0.011 |
| predicted_AB | 3.339 | 0.035 |
| predicted_AVG | 0.284 | 0.009 |
| predicted_BB | 0.434 | -0.044 |
| predicted_H | 0.945 | 0.045 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.147 | 0.007 |
| predicted_OBP | 0.347 | 0.005 |
| predicted_R | 0.787 | 0.004 |
| predicted_RBI | 0.802 | 0.073 |
| predicted_SLG | 0.537 | 0.022 |
| predicted_SO | 0.832 | 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.131 | 0.000 |
| predicted_3B | 0.141 | 0.000 |
| predicted_AB | 3.339 | 0.000 |
| predicted_AVG | 0.271 | -0.013 |
| predicted_BB | 0.428 | -0.006 |
| predicted_H | 0.905 | -0.040 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.140 | -0.007 |
| predicted_OBP | 0.354 | 0.007 |
| predicted_R | 0.729 | -0.059 |
| predicted_RBI | 0.743 | -0.060 |
| predicted_SLG | 0.521 | -0.016 |
| predicted_SO | 0.844 | 0.011 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.271 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 | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.131 |
| predicted_3B | 0.000 | -0.141 |
| predicted_AB | 3.000 | -0.339 |
| predicted_AVG | 0.333 | 0.062 |
| predicted_BB | 0.000 | -0.428 |
| predicted_H | 1.000 | 0.095 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.333 | -0.021 |
| predicted_R | 1.000 | 0.271 |
| predicted_RBI | 1.000 | 0.257 |
| predicted_SLG | 0.333 | -0.188 |
| predicted_SO | 1.000 | 0.156 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 6.000 | 0.000 | 2.000 | 1.000 | 8.000 | 5.000 | 1.000 | 4.000 | 0.3750 | 0.3750 | 0.8125 | 0.3750 | 0.0625 | 0.5000 | 0.0625 | 0.2500 |
| last_10 | 0.20 | 10 | - | 32.000 | 11.000 | 2.000 | 2.000 | 1.000 | 11.000 | 10.000 | 3.000 | 9.000 | 0.3438 | 0.3684 | 0.6250 | 0.3438 | 0.0312 | 0.3438 | 0.0938 | 0.2812 |
| season | 0.60 | 23 | - | 76.000 | 22.000 | 3.000 | 3.000 | 4.000 | 19.000 | 18.000 | 11.000 | 19.000 | 0.2895 | 0.3736 | 0.5658 | 0.2895 | 0.0526 | 0.2500 | 0.1447 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1330 |
| predicted_3B | 0.1600 |
| predicted_AB | 3.3960 |
| predicted_AVG | 0.3002 |
| predicted_BB | 0.3610 |
| predicted_H | 1.0200 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.3563 |
| predicted_R | 0.7940 |
| predicted_RBI | 0.9220 |
| predicted_SLG | 0.5730 |
| predicted_SO | 0.8430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.1330 | 0.1311 | model_form_blend |
| predicted_3B | 0.1300 | 0.1600 | 0.1413 | model_form_blend |
| predicted_AB | 3.3040 | 3.3960 | 3.3387 | model_form_blend |
| predicted_AVG | 0.2750 | 0.3002 | 0.2845 | model_form_blend |
| predicted_BB | 0.4780 | 0.3610 | 0.4338 | model_form_blend |
| predicted_H | 0.9000 | 1.0200 | 0.9453 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.1400 | 0.1580 | 0.1468 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3563 | 0.3474 | model_form_blend |
| predicted_R | 0.7830 | 0.7940 | 0.7872 | model_form_blend |
| predicted_RBI | 0.7300 | 0.9220 | 0.8025 | model_form_blend |
| predicted_SLG | 0.5150 | 0.5730 | 0.5369 | model_form_blend |
| predicted_SO | 0.8260 | 0.8430 | 0.8324 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 23 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260705_SF@COL |
| game_type | ph |
| mlbID | 694249 |
| note | Struck out for Moniak in the 7th. |
| playerID | 694249 |
| playerName | Cole Carrigg |
| pos | OF |
| started | False |
| startingPosition | PH |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.394 |
| sl_xwoba | 0.341 |
| sl_xba | 0.246 |
| sl_xslg | 0.424 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 24.7 |
| 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.229 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.086 | 0.000 | 0.000 | Hitting_3B | 0.064 | 1.000 | -0.064 | -1.000 |
| predicted_AB | 3.643 | 3.000 | 4.000 | Hitting_AB | 3.358 | 4.000 | -0.358 | -1.000 |
| predicted_AVG | 0.282 | 0.000 | 0.250 | Hitting_AVG | 0.272 | 0.250 | -0.272 | -0.250 |
| predicted_BB | 0.186 | 1.000 | 0.000 | Hitting_BB | 0.179 | 0.000 | 0.821 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.920 | 0.000 | 1.000 | Hitting_H | 0.913 | 1.000 | -0.913 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_OBP | 0.339 | 0.250 | 0.250 | Hitting_OBP | 0.310 | 0.250 | -0.060 | 0.000 |
| predicted_R | 0.514 | 0.000 | 1.000 | Hitting_R | 0.382 | 1.000 | -0.382 | -1.000 |
| predicted_RBI | 0.700 | 0.000 | 1.000 | Hitting_RBI | 0.532 | 0.000 | -0.532 | 0.000 |
| predicted_SLG | 0.541 | 0.000 | 0.250 | Hitting_SLG | 0.437 | 0.750 | -0.437 | -0.750 |
| predicted_SO | 0.700 | 0.000 | 1.000 | Hitting_SO | 0.676 | 2.000 | -0.676 | -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_BB: 0.1860 -> 1.0000 (boost 0.8140, 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 | 7 | 7 | 0 | 7 | 0 | predicted_H: 0.9200 -> 1.0572 (boost 0.1372, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 0.8279 -> 0.7661 (deboost -0.0618, 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.7172 -> 1.0000 (boost 0.2828, worse) | predicted_2B: 0.2164 -> 0.0000 (deboost -0.2164, worse) | AB rounded to 4 (raw=3.73), rates preserved: AVG=0.271 HR/AB=0.052 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5516 -> 1.0000 (boost 0.4484, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5393 -> 0.2500 (deboost -0.2893, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_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.5393 (boost 0.2893, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "LF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.229,
"predicted_3B": 0.086,
"predicted_AB": 3.643,
"predicted_AVG": 0.282,
"predicted_BB": 0.186,
"predicted_H": 0.92,
"predicted_HR": 0.17,
"predicted_OBP": 0.339,
"predicted_R": 0.514,
"predicted_RBI": 0.7,
"predicted_SLG": 0.541,
"predicted_SO": 0.7
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2164,
"predicted_3B": 0.099,
"predicted_AB": 3.7339,
"predicted_AVG": 0.2992,
"predicted_BB": 0.1847,
"predicted_H": 1.0572,
"predicted_HBP": 0.011,
"predicted_HR": 0.2049,
"predicted_OBP": 0.3456,
"predicted_R": 0.5961,
"predicted_RBI": 0.8279,
"predicted_SLG": 0.579,
"predicted_SO": 0.7076
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.2164,
"delta": -0.0126,
"percent_delta": -0.055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.086,
"after": 0.099,
"delta": 0.013,
"percent_delta": 0.1512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.643,
"after": 3.7339,
"delta": 0.0909,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2992,
"delta": 0.0172,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.1847,
"delta": -0.0013,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.0572,
"delta": 0.1372,
"percent_delta": 0.1491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.2049,
"delta": 0.0349,
"percent_delta": 0.2053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3456,
"delta": 0.0066,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5961,
"delta": 0.0821,
"percent_delta": 0.1597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.8279,
"delta": 0.1279,
"percent_delta": 0.1827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.541,
"after": 0.579,
"delta": 0.038,
"percent_delta": 0.0702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7,
"after": 0.7076,
"delta": 0.0076,
"percent_delta": 0.0109,
"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.92,
"after": 1.0572,
"delta": 0.1372,
"percent_delta": 0.1491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2164,
"predicted_3B": 0.099,
"predicted_AB": 3.7339,
"predicted_AVG": 0.2712,
"predicted_BB": 0.1822,
"predicted_H": 1.0127,
"predicted_HBP": 0.011,
"predicted_HR": 0.1956,
"predicted_OBP": 0.3051,
"predicted_R": 0.5516,
"predicted_RBI": 0.7661,
"predicted_SLG": 0.5393,
"predicted_SO": 0.7172
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2164,
"after": 0.2164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.099,
"after": 0.099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7339,
"after": 3.7339,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2992,
"after": 0.2712,
"delta": -0.028,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1847,
"after": 0.1822,
"delta": -0.0025,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0572,
"after": 1.0127,
"delta": -0.0445,
"percent_delta": -0.0421,
"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.2049,
"after": 0.1956,
"delta": -0.0093,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3456,
"after": 0.3051,
"delta": -0.0405,
"percent_delta": -0.1172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5961,
"after": 0.5516,
"delta": -0.0445,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8279,
"after": 0.7661,
"delta": -0.0618,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.579,
"after": 0.5393,
"delta": -0.0397,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7076,
"after": 0.7172,
"delta": 0.0096,
"percent_delta": 0.0136,
"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.8279,
"after": 0.7661,
"delta": -0.0618,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.271 HR/AB=0.052",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2164,
"after": 0.0,
"delta": -0.2164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7339,
"after": 4.0,
"delta": 0.2661,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1822,
"after": 0.0,
"delta": -0.1822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0127,
"after": 1.0,
"delta": -0.0127,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1956,
"after": 0.0,
"delta": -0.1956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7661,
"after": 1.0,
"delta": 0.2339,
"percent_delta": 0.3053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7172,
"after": 1.0,
"delta": 0.2828,
"percent_delta": 0.3943,
"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.7172,
"after": 1.0,
"delta": 0.2828,
"percent_delta": 0.3943,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2164,
"after": 0.0,
"delta": -0.2164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.5516,
"after": 1.0,
"delta": 0.4484,
"percent_delta": 0.8129,
"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.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": 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.2712,
"after": 0.25,
"delta": -0.0212,
"percent_delta": -0.0782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3051,
"after": 0.25,
"delta": -0.0551,
"percent_delta": -0.1806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5393,
"after": 0.25,
"delta": -0.2893,
"percent_delta": -0.5364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5393,
"after": 0.25,
"delta": -0.2893,
"percent_delta": -0.5364,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2712,
"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.3051,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5393,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2712,
"delta": 0.0212,
"percent_delta": 0.0849,
"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.3051,
"delta": 0.0551,
"percent_delta": 0.2205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5393,
"delta": 0.2893,
"percent_delta": 1.1573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.5393,
"delta": 0.2893,
"percent_delta": 1.1573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.643,
"after": 3.0,
"delta": -0.643,
"percent_delta": -0.1765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2712,
"delta": -0.0108,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3051,
"delta": -0.0339,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.541,
"after": 0.5393,
"delta": -0.0017,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"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.229 | - |
| predicted_3B | 0.086 | - |
| predicted_AB | 3.643 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.186 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.541 | - |
| predicted_SO | 0.700 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | -0.013 |
| predicted_3B | 0.099 | 0.013 |
| predicted_AB | 3.734 | 0.091 |
| predicted_AVG | 0.299 | 0.017 |
| predicted_BB | 0.185 | -0.001 |
| predicted_H | 1.057 | 0.137 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.205 | 0.035 |
| predicted_OBP | 0.346 | 0.007 |
| predicted_R | 0.596 | 0.082 |
| predicted_RBI | 0.828 | 0.128 |
| predicted_SLG | 0.579 | 0.038 |
| predicted_SO | 0.708 | 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.216 | 0.000 |
| predicted_3B | 0.099 | 0.000 |
| predicted_AB | 3.734 | 0.000 |
| predicted_AVG | 0.271 | -0.028 |
| predicted_BB | 0.182 | -0.003 |
| predicted_H | 1.013 | -0.044 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.196 | -0.009 |
| predicted_OBP | 0.305 | -0.041 |
| predicted_R | 0.552 | -0.044 |
| predicted_RBI | 0.766 | -0.062 |
| predicted_SLG | 0.539 | -0.040 |
| predicted_SO | 0.717 | 0.010 |
AB rounded to 4 (raw=3.73), rates preserved: AVG=0.271 HR/AB=0.052
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.216 |
| predicted_3B | 0.000 | -0.099 |
| predicted_AB | 4.000 | 0.266 |
| predicted_AVG | 0.250 | -0.021 |
| predicted_BB | 0.000 | -0.182 |
| predicted_H | 1.000 | -0.013 |
| predicted_HR | 0.000 | -0.196 |
| predicted_OBP | 0.250 | -0.055 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 1.000 | 0.234 |
| predicted_SLG | 0.250 | -0.289 |
| predicted_SO | 1.000 | 0.283 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 8.000 | 0.000 | 1.000 | 3.000 | 10.000 | 6.000 | 1.000 | 4.000 | 0.3810 | 0.4091 | 0.9048 | 0.3810 | 0.1429 | 0.4762 | 0.0476 | 0.1905 |
| last_10 | 0.20 | 10 | - | 42.000 | 15.000 | 3.000 | 2.000 | 4.000 | 15.000 | 10.000 | 1.000 | 6.000 | 0.3571 | 0.3721 | 0.8095 | 0.3571 | 0.0952 | 0.3571 | 0.0238 | 0.1429 |
| season | 0.60 | 70 | - | 255.000 | 78.000 | 16.000 | 6.000 | 9.000 | 46.000 | 36.000 | 13.000 | 49.000 | 0.3059 | 0.3395 | 0.5216 | 0.3059 | 0.0353 | 0.1804 | 0.0510 | 0.1922 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1990 |
| predicted_3B | 0.1170 |
| predicted_AB | 3.8590 |
| predicted_AVG | 0.3229 |
| predicted_BB | 0.1830 |
| predicted_H | 1.2460 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2530 |
| predicted_OBP | 0.3546 |
| predicted_R | 0.7090 |
| predicted_RBI | 1.0040 |
| predicted_SLG | 0.6313 |
| predicted_SO | 0.7180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2290 | 0.1990 | 0.2164 | model_form_blend |
| predicted_3B | 0.0860 | 0.1170 | 0.0990 | model_form_blend |
| predicted_AB | 3.6430 | 3.8590 | 3.7339 | model_form_blend |
| predicted_AVG | 0.2820 | 0.3229 | 0.2992 | model_form_blend |
| predicted_BB | 0.1860 | 0.1830 | 0.1847 | model_form_blend |
| predicted_H | 0.9200 | 1.2460 | 1.0572 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1700 | 0.2530 | 0.2049 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3546 | 0.3456 | model_form_blend |
| predicted_R | 0.5140 | 0.7090 | 0.5961 | model_form_blend |
| predicted_RBI | 0.7000 | 1.0040 | 0.8279 | model_form_blend |
| predicted_SLG | 0.5410 | 0.6313 | 0.5790 | model_form_blend |
| predicted_SO | 0.7000 | 0.7180 | 0.7076 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 173 |
| Season rows before report date | 173 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.306 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF-LF |
| gameID | 20260705_SF@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-05 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.369 |
| sl_xwoba | 0.317 |
| sl_xba | 0.268 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 26.9 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 22.6 |
| 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.105 | 0.000 | 0.000 | Hitting_2B | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.474 | 4.000 | 3.000 | Hitting_AB | 3.606 | 0.000 | 0.394 | 4.000 |
| predicted_AVG | 0.238 | 0.000 | 0.333 | Hitting_AVG | 0.250 | - | -0.250 | - |
| predicted_BB | 0.158 | 0.000 | 0.000 | Hitting_BB | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.330 | 0.000 | 1.000 | Hitting_H | 0.900 | 0.000 | -0.900 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.292 | 0.000 | 0.333 | Hitting_OBP | 0.327 | - | -0.327 | - |
| predicted_R | 0.456 | 0.000 | 0.000 | Hitting_R | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.406 | 0.000 | -0.406 | 0.000 |
| predicted_SLG | 0.325 | 0.000 | 0.333 | Hitting_SLG | 0.336 | - | -0.336 | - |
| predicted_SO | 0.509 | 1.000 | 0.000 | Hitting_SO | 0.525 | 0.000 | 0.475 | 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.4560 -> 0.0000 (deboost -0.4560, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3300 -> 0.5364 (boost 0.2064, better) | predicted_SLG: 0.3250 -> 0.3185 (deboost -0.0065, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3063 -> 0.1859 (deboost -0.1204, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_SO: 0.5534 -> 0.0000 (deboost -0.5534, better) | AB rounded to 3 (raw=3.47), rates preserved: AVG=0.148 HR/AB=0.010 |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3951 -> 0.0000 (deboost -0.3951, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1483 -> 0.3330 (boost 0.1847, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1483 (deboost -0.1847, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671289",
"player_name": "Tyler Freeman",
"position": "RF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.105,
"predicted_3B": 0.018,
"predicted_AB": 3.474,
"predicted_AVG": 0.238,
"predicted_BB": 0.158,
"predicted_H": 0.33,
"predicted_HR": 0.03,
"predicted_OBP": 0.292,
"predicted_R": 0.456,
"predicted_RBI": 0.17,
"predicted_SLG": 0.325,
"predicted_SO": 0.509
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1,
"predicted_3B": 0.0151,
"predicted_AB": 3.4645,
"predicted_AVG": 0.2387,
"predicted_BB": 0.1622,
"predicted_H": 0.5364,
"predicted_HBP": 0.271,
"predicted_HR": 0.035,
"predicted_OBP": 0.3063,
"predicted_R": 0.4269,
"predicted_RBI": 0.2472,
"predicted_SLG": 0.3185,
"predicted_SO": 0.546
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.1,
"delta": -0.005,
"percent_delta": -0.0476,
"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.474,
"after": 3.4645,
"delta": -0.0095,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2387,
"delta": 0.0007,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 0.1622,
"delta": 0.0042,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.5364,
"delta": 0.2064,
"percent_delta": 0.6255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.035,
"delta": 0.005,
"percent_delta": 0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.3063,
"delta": 0.0143,
"percent_delta": 0.049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.4269,
"delta": -0.0291,
"percent_delta": -0.0638,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2472,
"delta": 0.0772,
"percent_delta": 0.4541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3185,
"delta": -0.0065,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.509,
"after": 0.546,
"delta": 0.037,
"percent_delta": 0.0727,
"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.33,
"after": 0.5364,
"delta": 0.2064,
"percent_delta": 0.6255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3185,
"delta": -0.0065,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1,
"predicted_3B": 0.0151,
"predicted_AB": 3.4645,
"predicted_AVG": 0.1483,
"predicted_BB": 0.16,
"predicted_H": 0.5138,
"predicted_HBP": 0.271,
"predicted_HR": 0.0334,
"predicted_OBP": 0.1859,
"predicted_R": 0.3951,
"predicted_RBI": 0.2288,
"predicted_SLG": 0.2148,
"predicted_SO": 0.5534
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1,
"after": 0.1,
"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.4645,
"after": 3.4645,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.1483,
"delta": -0.0904,
"percent_delta": -0.3787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1622,
"after": 0.16,
"delta": -0.0022,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5364,
"after": 0.5138,
"delta": -0.0226,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.271,
"after": 0.271,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.035,
"after": 0.0334,
"delta": -0.0016,
"percent_delta": -0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3063,
"after": 0.1859,
"delta": -0.1204,
"percent_delta": -0.3931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4269,
"after": 0.3951,
"delta": -0.0318,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2472,
"after": 0.2288,
"delta": -0.0184,
"percent_delta": -0.0744,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3185,
"after": 0.2148,
"delta": -0.1037,
"percent_delta": -0.3256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.546,
"after": 0.5534,
"delta": 0.0074,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3063,
"after": 0.1859,
"delta": -0.1204,
"percent_delta": -0.3931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.47), rates preserved: AVG=0.148 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"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.0151,
"after": 0.0,
"delta": -0.0151,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4645,
"after": 3.0,
"delta": -0.4645,
"percent_delta": -0.1341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5138,
"after": 0.0,
"delta": -0.5138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0334,
"after": 0.0,
"delta": -0.0334,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2288,
"after": 0.0,
"delta": -0.2288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5534,
"after": 0.0,
"delta": -0.5534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5534,
"after": 0.0,
"delta": -0.5534,
"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=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": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.3951,
"after": 0.0,
"delta": -0.3951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3951,
"after": 0.0,
"delta": -0.3951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1483,
"after": 0.333,
"delta": 0.1847,
"percent_delta": 1.2454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1859,
"after": 0.333,
"delta": 0.1471,
"percent_delta": 0.7913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2148,
"after": 0.333,
"delta": 0.1182,
"percent_delta": 0.5503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.1483,
"after": 0.333,
"delta": 0.1847,
"percent_delta": 1.2454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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_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.1483,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1859,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2148,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1483,
"delta": -0.1847,
"percent_delta": -0.5546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1859,
"delta": -0.1471,
"percent_delta": -0.4417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2148,
"delta": -0.1182,
"percent_delta": -0.3549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1483,
"delta": -0.1847,
"percent_delta": -0.5546,
"direction": "deboost",
"projection_effect": "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.018,
"after": 0.0,
"delta": -0.018,
"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.238,
"after": 0.1483,
"delta": -0.0897,
"percent_delta": -0.3769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.1859,
"delta": -0.1061,
"percent_delta": -0.3634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.0,
"delta": -0.456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.2148,
"delta": -0.1102,
"percent_delta": -0.3391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.509,
"after": 1.0,
"delta": 0.491,
"percent_delta": 0.9646,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 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.456,
"after": 0.0,
"delta": -0.456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.018 | - |
| predicted_AB | 3.474 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.158 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.325 | - |
| predicted_SO | 0.509 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.100 | -0.005 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.465 | -0.010 |
| predicted_AVG | 0.239 | 0.001 |
| predicted_BB | 0.162 | 0.004 |
| predicted_H | 0.536 | 0.206 |
| predicted_HBP | 0.271 | - |
| predicted_HR | 0.035 | 0.005 |
| predicted_OBP | 0.306 | 0.014 |
| predicted_R | 0.427 | -0.029 |
| predicted_RBI | 0.247 | 0.077 |
| predicted_SLG | 0.319 | -0.007 |
| predicted_SO | 0.546 | 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.100 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.465 | 0.000 |
| predicted_AVG | 0.148 | -0.090 |
| predicted_BB | 0.160 | -0.002 |
| predicted_H | 0.514 | -0.023 |
| predicted_HBP | 0.271 | 0.000 |
| predicted_HR | 0.033 | -0.002 |
| predicted_OBP | 0.186 | -0.120 |
| predicted_R | 0.395 | -0.032 |
| predicted_RBI | 0.229 | -0.018 |
| predicted_SLG | 0.215 | -0.104 |
| predicted_SO | 0.553 | 0.007 |
AB rounded to 3 (raw=3.47), rates preserved: AVG=0.148 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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.100 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | -0.465 |
| predicted_AVG | 0.333 | 0.185 |
| predicted_BB | 0.000 | -0.160 |
| predicted_H | 1.000 | 0.486 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.333 | 0.147 |
| predicted_R | 0.000 | -0.395 |
| predicted_RBI | 0.000 | -0.229 |
| predicted_SLG | 0.333 | 0.118 |
| predicted_SO | 0.000 | -0.553 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 0.1250 | 0.2632 | 0.1250 | 0.1250 | 0.0000 | 0.0625 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 34.000 | 9.000 | 1.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 7.000 | 0.2647 | 0.3421 | 0.2941 | 0.2647 | 0.0000 | 0.0882 | 0.0294 | 0.2059 |
| season | 0.60 | 57 | - | 198.000 | 53.000 | 6.000 | 1.000 | 3.000 | 23.000 | 26.000 | 9.000 | 29.000 | 0.2677 | 0.3468 | 0.3535 | 0.2677 | 0.0152 | 0.1162 | 0.0454 | 0.1465 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.4510 |
| predicted_AVG | 0.2397 |
| predicted_BB | 0.1680 |
| predicted_H | 0.8270 |
| predicted_HBP | 0.2710 |
| predicted_HR | 0.0420 |
| predicted_OBP | 0.3264 |
| predicted_R | 0.3860 |
| predicted_RBI | 0.3560 |
| predicted_SLG | 0.3094 |
| predicted_SO | 0.5980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1050 | 0.0930 | 0.1000 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0151 | model_form_blend |
| predicted_AB | 3.4740 | 3.4510 | 3.4645 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2397 | 0.2387 | model_form_blend |
| predicted_BB | 0.1580 | 0.1680 | 0.1622 | model_form_blend |
| predicted_H | 0.3300 | 0.8270 | 0.5364 | model_form_blend |
| predicted_HBP | - | 0.2710 | 0.2710 | form_only |
| predicted_HR | 0.0300 | 0.0420 | 0.0350 | model_form_blend |
| predicted_OBP | 0.2920 | 0.3264 | 0.3063 | model_form_blend |
| predicted_R | 0.4560 | 0.3860 | 0.4269 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3560 | 0.2472 | model_form_blend |
| predicted_SLG | 0.3250 | 0.3094 | 0.3185 | model_form_blend |
| predicted_SO | 0.5090 | 0.5980 | 0.5460 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 160 |
| Season rows before report date | 160 |
| Report year | 2026 |
| Profile rows used | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 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 | RF |
| gameID | 20260705_SF@COL |
| game_type | short |
| mlbID | 671289 |
| playerID | 671289 |
| playerName | Tyler Freeman |
| pos | RF |
| started | False |
| startingPosition | RF |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.321 |
| sl_xwoba | 0.314 |
| sl_xba | 0.263 |
| sl_xslg | 0.344 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 12.7 |
| sl_swing_percent | 49.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.291 | 0.000 | 0.000 | Hitting_2B | 0.299 | 0.000 | -0.299 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.304 | 4.000 | 3.000 | Hitting_AB | 3.505 | 2.000 | 0.495 | 2.000 |
| predicted_AVG | 0.279 | 0.000 | 0.333 | Hitting_AVG | 0.327 | 0.500 | -0.327 | -0.500 |
| predicted_BB | 0.316 | 0.000 | 0.000 | Hitting_BB | 0.369 | 0.000 | -0.369 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 1.145 | 1.000 | -1.145 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.368 | 0.000 | 0.333 | Hitting_OBP | 0.395 | 0.500 | -0.395 | -0.500 |
| predicted_R | 0.405 | 0.000 | 0.000 | Hitting_R | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.505 | 1.000 | -0.505 | -1.000 |
| predicted_SLG | 0.404 | 0.000 | 0.333 | Hitting_SLG | 0.456 | 0.500 | -0.456 | -0.500 |
| predicted_SO | 0.646 | 1.000 | 1.000 | Hitting_SO | 0.752 | 0.000 | 0.248 | 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.3040 -> 4.0000 (boost 0.6960, 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 | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.8400 -> 0.9009 (boost 0.0609, better) | predicted_AB: 3.3040 -> 3.2461 (deboost -0.0579, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3800 -> 0.3392 (deboost -0.0408, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6209 -> 1.0000 (boost 0.3791, worse) | predicted_RBI: 0.4468 -> 0.0000 (deboost -0.4468, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.261 HR/AB=0.012 |
| 5 | 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 |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2658 -> 0.3330 (boost 0.0672, better) | predicted_SLG: 0.3867 -> 0.3330 (deboost -0.0537, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3867 (boost 0.0537, better) | predicted_AVG: 0.3330 -> 0.2658 (deboost -0.0672, 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.291,
"predicted_3B": 0.0,
"predicted_AB": 3.304,
"predicted_AVG": 0.279,
"predicted_BB": 0.316,
"predicted_H": 0.84,
"predicted_HR": 0.05,
"predicted_OBP": 0.368,
"predicted_R": 0.405,
"predicted_RBI": 0.46,
"predicted_SLG": 0.404,
"predicted_SO": 0.646
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2728,
"predicted_3B": 0.0004,
"predicted_AB": 3.2461,
"predicted_AVG": 0.2924,
"predicted_BB": 0.365,
"predicted_H": 0.9009,
"predicted_HBP": 0.091,
"predicted_HR": 0.0415,
"predicted_OBP": 0.38,
"predicted_R": 0.3919,
"predicted_RBI": 0.4828,
"predicted_SLG": 0.41,
"predicted_SO": 0.6126
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.291,
"after": 0.2728,
"delta": -0.0182,
"percent_delta": -0.0625,
"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.304,
"after": 3.2461,
"delta": -0.0579,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2924,
"delta": 0.0134,
"percent_delta": 0.048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.365,
"delta": 0.049,
"percent_delta": 0.1551,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.9009,
"delta": 0.0609,
"percent_delta": 0.0725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0415,
"delta": -0.0085,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.38,
"delta": 0.012,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.3919,
"delta": -0.0131,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4828,
"delta": 0.0228,
"percent_delta": 0.0496,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.41,
"delta": 0.006,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.646,
"after": 0.6126,
"delta": -0.0334,
"percent_delta": -0.0517,
"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.84,
"after": 0.9009,
"delta": 0.0609,
"percent_delta": 0.0725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.304,
"after": 3.2461,
"delta": -0.0579,
"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": 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.2728,
"predicted_3B": 0.0004,
"predicted_AB": 3.2461,
"predicted_AVG": 0.2658,
"predicted_BB": 0.3601,
"predicted_H": 0.863,
"predicted_HBP": 0.091,
"predicted_HR": 0.0396,
"predicted_OBP": 0.3392,
"predicted_R": 0.3627,
"predicted_RBI": 0.4468,
"predicted_SLG": 0.3867,
"predicted_SO": 0.6209
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2728,
"after": 0.2728,
"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.2461,
"after": 3.2461,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2924,
"after": 0.2658,
"delta": -0.0266,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.365,
"after": 0.3601,
"delta": -0.0049,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9009,
"after": 0.863,
"delta": -0.0379,
"percent_delta": -0.0421,
"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.0415,
"after": 0.0396,
"delta": -0.0019,
"percent_delta": -0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.38,
"after": 0.3392,
"delta": -0.0408,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3919,
"after": 0.3627,
"delta": -0.0292,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4828,
"after": 0.4468,
"delta": -0.036,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.3867,
"delta": -0.0233,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6126,
"after": 0.6209,
"delta": 0.0083,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.38,
"after": 0.3392,
"delta": -0.0408,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.30), rates preserved: AVG=0.261 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2728,
"after": 0.0,
"delta": -0.2728,
"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.2461,
"after": 3.0,
"delta": -0.2461,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3601,
"after": 0.0,
"delta": -0.3601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.863,
"after": 1.0,
"delta": 0.137,
"percent_delta": 0.1587,
"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.0396,
"after": 0.0,
"delta": -0.0396,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4468,
"after": 0.0,
"delta": -0.4468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6209,
"after": 1.0,
"delta": 0.3791,
"percent_delta": 0.6106,
"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.6209,
"after": 1.0,
"delta": 0.3791,
"percent_delta": 0.6106,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4468,
"after": 0.0,
"delta": -0.4468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.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": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2658,
"after": 0.333,
"delta": 0.0672,
"percent_delta": 0.2528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3392,
"after": 0.333,
"delta": -0.0062,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3867,
"after": 0.333,
"delta": -0.0537,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2658,
"after": 0.333,
"delta": 0.0672,
"percent_delta": 0.2528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3867,
"after": 0.333,
"delta": -0.0537,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2658,
"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.3392,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3867,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2658,
"delta": -0.0672,
"percent_delta": -0.2017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3392,
"delta": 0.0062,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3867,
"delta": 0.0537,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3867,
"delta": 0.0537,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2658,
"delta": -0.0672,
"percent_delta": -0.2017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.291,
"after": 0.0,
"delta": -0.291,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.304,
"after": 4.0,
"delta": 0.696,
"percent_delta": 0.2107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2658,
"delta": -0.0132,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3392,
"delta": -0.0288,
"percent_delta": -0.0783,
"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.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.3867,
"delta": -0.0173,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.304,
"after": 4.0,
"delta": 0.696,
"percent_delta": 0.2107,
"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.291 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.304 | - |
| predicted_AVG | 0.279 | - |
| predicted_BB | 0.316 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.646 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.273 | -0.018 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.246 | -0.058 |
| predicted_AVG | 0.292 | 0.013 |
| predicted_BB | 0.365 | 0.049 |
| predicted_H | 0.901 | 0.061 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.042 | -0.009 |
| predicted_OBP | 0.380 | 0.012 |
| predicted_R | 0.392 | -0.013 |
| predicted_RBI | 0.483 | 0.023 |
| predicted_SLG | 0.410 | 0.006 |
| predicted_SO | 0.613 | -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.273 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.246 | 0.000 |
| predicted_AVG | 0.266 | -0.027 |
| predicted_BB | 0.360 | -0.005 |
| predicted_H | 0.863 | -0.038 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.040 | -0.002 |
| predicted_OBP | 0.339 | -0.041 |
| predicted_R | 0.363 | -0.029 |
| predicted_RBI | 0.447 | -0.036 |
| predicted_SLG | 0.387 | -0.023 |
| predicted_SO | 0.621 | 0.008 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.261 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 | 1.000 | - |
Enforced H<=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.273 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.246 |
| predicted_AVG | 0.333 | 0.067 |
| predicted_BB | 0.000 | -0.360 |
| predicted_H | 1.000 | 0.137 |
| predicted_HR | 0.000 | -0.040 |
| predicted_OBP | 0.333 | -0.006 |
| predicted_R | 0.000 | -0.363 |
| predicted_RBI | 0.000 | -0.447 |
| predicted_SLG | 0.333 | -0.054 |
| predicted_SO | 1.000 | 0.379 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 4.000 | 2.000 | 0.2857 | 0.4500 | 0.3571 | 0.2857 | 0.0000 | 0.2143 | 0.2857 | 0.1429 |
| last_10 | 0.20 | 10 | - | 28.000 | 10.000 | 2.000 | 0.000 | 0.000 | 5.000 | 2.000 | 4.000 | 4.000 | 0.3571 | 0.4412 | 0.4286 | 0.3571 | 0.0000 | 0.1786 | 0.1429 | 0.1429 |
| season | 0.60 | 79 | - | 261.000 | 82.000 | 23.000 | 0.000 | 3.000 | 38.000 | 32.000 | 25.000 | 51.000 | 0.3142 | 0.3788 | 0.4368 | 0.3142 | 0.0115 | 0.1456 | 0.0958 | 0.1954 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2480 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1670 |
| predicted_AVG | 0.3107 |
| predicted_BB | 0.4320 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.0300 |
| predicted_OBP | 0.3963 |
| predicted_R | 0.3740 |
| predicted_RBI | 0.5140 |
| predicted_SLG | 0.4183 |
| predicted_SO | 0.5670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2910 | 0.2480 | 0.2728 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3040 | 3.1670 | 3.2461 | model_form_blend |
| predicted_AVG | 0.2790 | 0.3107 | 0.2924 | model_form_blend |
| predicted_BB | 0.3160 | 0.4320 | 0.3650 | model_form_blend |
| predicted_H | 0.8400 | 0.9840 | 0.9009 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.0500 | 0.0300 | 0.0415 | model_form_blend |
| predicted_OBP | 0.3680 | 0.3963 | 0.3800 | model_form_blend |
| predicted_R | 0.4050 | 0.3740 | 0.3919 | model_form_blend |
| predicted_RBI | 0.4600 | 0.5140 | 0.4828 | model_form_blend |
| predicted_SLG | 0.4040 | 0.4183 | 0.4100 | model_form_blend |
| predicted_SO | 0.6460 | 0.5670 | 0.6126 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 214 |
| Season rows before report date | 214 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.314 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 687859 |
| playerID | 687859 |
| playerName | Troy Johnston |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.361 |
| sl_xwoba | 0.333 |
| sl_xba | 0.285 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 41.7 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 22.8 |
| 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.195 | 0.000 | 0.000 | Hitting_2B | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.524 | 3.000 | 4.000 | Hitting_AB | 3.714 | 2.000 | -0.714 | 1.000 |
| predicted_AVG | 0.235 | 0.333 | 0.250 | Hitting_AVG | 0.217 | 0.000 | 0.116 | 0.333 |
| predicted_BB | 0.195 | 0.000 | 0.000 | Hitting_BB | 0.214 | 0.000 | -0.214 | 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.808 | 0.000 | 0.192 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.262 | 0.333 | 0.250 | Hitting_OBP | 0.262 | 0.000 | 0.072 | 0.333 |
| predicted_R | 0.341 | 0.000 | 0.000 | Hitting_R | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_SLG | 0.374 | 0.333 | 0.250 | Hitting_SLG | 0.328 | 0.000 | 0.005 | 0.333 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.996 | 0.000 | 0.004 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_H: 0.7400 -> 1.0000 (boost 0.2600, better) |
| Biggest Deboost | predicted_AB: 3.5240 -> 3.0000 (deboost -0.5240, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 1 | 3 | - | predicted_SO: 1.0000 -> 0.8443 (deboost -0.1557, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2274 -> 0.2039 (deboost -0.0235, 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.4145 -> 4.0000 (boost 0.5855, better) | predicted_RBI: 0.4055 -> 0.0000 (deboost -0.4055, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.198 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3588 -> 0.0000 (deboost -0.3588, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2039 -> 0.2500 (boost 0.0461, better) | predicted_SLG: 0.3519 -> 0.2500 (deboost -0.1019, 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_AB: 4.0000 -> 3.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.3519 (boost 0.1019, better) | predicted_AVG: 0.2500 -> 0.2039 (deboost -0.0461, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"position": "SS",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.195,
"predicted_3B": 0.0,
"predicted_AB": 3.524,
"predicted_AVG": 0.235,
"predicted_BB": 0.195,
"predicted_H": 0.74,
"predicted_HR": 0.11,
"predicted_OBP": 0.262,
"predicted_R": 0.341,
"predicted_RBI": 0.42,
"predicted_SLG": 0.374,
"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.1776,
"predicted_3B": 0.0004,
"predicted_AB": 3.4145,
"predicted_AVG": 0.2274,
"predicted_BB": 0.1717,
"predicted_H": 0.7268,
"predicted_HBP": 0.015,
"predicted_HR": 0.1142,
"predicted_OBP": 0.2558,
"predicted_R": 0.3877,
"predicted_RBI": 0.4382,
"predicted_SLG": 0.3744,
"predicted_SO": 0.8443
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.1776,
"delta": -0.0174,
"percent_delta": -0.0892,
"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.524,
"after": 3.4145,
"delta": -0.1095,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2274,
"delta": -0.0076,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.195,
"after": 0.1717,
"delta": -0.0233,
"percent_delta": -0.1195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7268,
"delta": -0.0132,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1142,
"delta": 0.0042,
"percent_delta": 0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2558,
"delta": -0.0062,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.341,
"after": 0.3877,
"delta": 0.0467,
"percent_delta": 0.137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4382,
"delta": 0.0182,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3744,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8443,
"delta": -0.1557,
"percent_delta": -0.1557,
"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_SO",
"before": 1.0,
"after": 0.8443,
"delta": -0.1557,
"percent_delta": -0.1557,
"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": 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.1776,
"predicted_3B": 0.0004,
"predicted_AB": 3.4145,
"predicted_AVG": 0.2039,
"predicted_BB": 0.1694,
"predicted_H": 0.6962,
"predicted_HBP": 0.015,
"predicted_HR": 0.109,
"predicted_OBP": 0.2415,
"predicted_R": 0.3588,
"predicted_RBI": 0.4055,
"predicted_SLG": 0.3519,
"predicted_SO": 0.8557
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1776,
"after": 0.1776,
"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.4145,
"after": 3.4145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2274,
"after": 0.2039,
"delta": -0.0235,
"percent_delta": -0.1033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1717,
"after": 0.1694,
"delta": -0.0023,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7268,
"after": 0.6962,
"delta": -0.0306,
"percent_delta": -0.0421,
"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.1142,
"after": 0.109,
"delta": -0.0052,
"percent_delta": -0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2558,
"after": 0.2415,
"delta": -0.0143,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3877,
"after": 0.3588,
"delta": -0.0289,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4382,
"after": 0.4055,
"delta": -0.0327,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3744,
"after": 0.3519,
"delta": -0.0225,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8443,
"after": 0.8557,
"delta": 0.0114,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2274,
"after": 0.2039,
"delta": -0.0235,
"percent_delta": -0.1033,
"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.198 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1776,
"after": 0.0,
"delta": -0.1776,
"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.4145,
"after": 4.0,
"delta": 0.5855,
"percent_delta": 0.1715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1694,
"after": 0.0,
"delta": -0.1694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6962,
"after": 1.0,
"delta": 0.3038,
"percent_delta": 0.4364,
"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.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4055,
"after": 0.0,
"delta": -0.4055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8557,
"after": 1.0,
"delta": 0.1443,
"percent_delta": 0.1686,
"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.4145,
"after": 4.0,
"delta": 0.5855,
"percent_delta": 0.1715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4055,
"after": 0.0,
"delta": -0.4055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)",
"stats": {
"predicted_2B": 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": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3588,
"after": 0.0,
"delta": -0.3588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3588,
"after": 0.0,
"delta": -0.3588,
"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.2039,
"after": 0.25,
"delta": 0.0461,
"percent_delta": 0.2261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2415,
"after": 0.25,
"delta": 0.0085,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3519,
"after": 0.25,
"delta": -0.1019,
"percent_delta": -0.2896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2039,
"after": 0.25,
"delta": 0.0461,
"percent_delta": 0.2261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3519,
"after": 0.25,
"delta": -0.1019,
"percent_delta": -0.2896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2039,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2415,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3519,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2039,
"delta": -0.0461,
"percent_delta": -0.1844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2415,
"delta": -0.0085,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3519,
"delta": 0.1019,
"percent_delta": 0.4077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3519,
"delta": 0.1019,
"percent_delta": 0.4077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2039,
"delta": -0.0461,
"percent_delta": -0.1844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.524,
"after": 3.0,
"delta": -0.524,
"percent_delta": -0.1487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2039,
"delta": -0.0311,
"percent_delta": -0.1323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2415,
"delta": -0.0205,
"percent_delta": -0.0782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.341,
"after": 0.0,
"delta": -0.341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3519,
"delta": -0.0221,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.524,
"after": 3.0,
"delta": -0.524,
"percent_delta": -0.1487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.524 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.195 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.262 | - |
| predicted_R | 0.341 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.374 | - |
| 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.178 | -0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.414 | -0.110 |
| predicted_AVG | 0.227 | -0.008 |
| predicted_BB | 0.172 | -0.023 |
| predicted_H | 0.727 | -0.013 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.114 | 0.004 |
| predicted_OBP | 0.256 | -0.006 |
| predicted_R | 0.388 | 0.047 |
| predicted_RBI | 0.438 | 0.018 |
| predicted_SLG | 0.374 | 0.000 |
| predicted_SO | 0.844 | -0.156 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 3.414 | 0.000 |
| predicted_AVG | 0.204 | -0.023 |
| predicted_BB | 0.169 | -0.002 |
| predicted_H | 0.696 | -0.031 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.109 | -0.005 |
| predicted_OBP | 0.241 | -0.014 |
| predicted_R | 0.359 | -0.029 |
| predicted_RBI | 0.406 | -0.033 |
| predicted_SLG | 0.352 | -0.023 |
| predicted_SO | 0.856 | 0.011 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.198 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
| 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.178 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.586 |
| predicted_AVG | 0.250 | 0.046 |
| predicted_BB | 0.000 | -0.169 |
| predicted_H | 1.000 | 0.304 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.250 | 0.009 |
| predicted_R | 0.000 | -0.359 |
| predicted_RBI | 0.000 | -0.406 |
| predicted_SLG | 0.250 | -0.102 |
| predicted_SO | 1.000 | 0.144 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 3.000 | 3.000 | 0.000 | 0.000 | 0.2308 | 0.2308 | 0.4615 | 0.2308 | 0.0769 | 0.2308 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 1.000 | 3.000 | 0.2069 | 0.2188 | 0.3793 | 0.2069 | 0.0345 | 0.1724 | 0.0345 | 0.1035 |
| season | 0.60 | 82 | - | 289.000 | 61.000 | 16.000 | 0.000 | 7.000 | 30.000 | 28.000 | 16.000 | 82.000 | 0.2111 | 0.2532 | 0.3391 | 0.2111 | 0.0242 | 0.1038 | 0.0554 | 0.2837 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1540 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2660 |
| predicted_AVG | 0.2172 |
| predicted_BB | 0.1400 |
| predicted_H | 0.7090 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1200 |
| predicted_OBP | 0.2475 |
| predicted_R | 0.4510 |
| predicted_RBI | 0.4630 |
| predicted_SLG | 0.3749 |
| predicted_SO | 0.6330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.1540 | 0.1776 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5240 | 3.2660 | 3.4145 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2172 | 0.2274 | model_form_blend |
| predicted_BB | 0.1950 | 0.1400 | 0.1717 | model_form_blend |
| predicted_H | 0.7400 | 0.7090 | 0.7268 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1100 | 0.1200 | 0.1142 | model_form_blend |
| predicted_OBP | 0.2620 | 0.2475 | 0.2558 | model_form_blend |
| predicted_R | 0.3410 | 0.4510 | 0.3877 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4630 | 0.4382 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3749 | 0.3744 | model_form_blend |
| predicted_SO | 1.0000 | 0.6330 | 0.8443 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.211 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 678662 |
| playerID | 678662 |
| playerName | Ezequiel Tovar |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.256 |
| sl_xwoba | 0.273 |
| sl_xba | 0.219 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 17.8 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 62.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.125 | 1.000 | -0.125 | 0.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 3.875 | 2.000 | 1.125 | 3.000 |
| predicted_H | 8.000 | 8.000 | 8.000 | Pitching_H | 6.562 | 6.000 | 1.438 | 2.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.637 | 5.000 | -0.437 | -0.800 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.250 | 7.000 | 1.750 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 4.0000 -> 5.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 5.3333 -> 4.2000 (deboost -1.1333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 4.2000 (deboost -1.1333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | starter_quality_floor | 2 | 2 | 0 | 0 | 2 | predicted_ER: 4.0000 -> 5.0000 (boost 1.0000, worse) | - | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 4 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "607536",
"player_name": "Kyle Freeland",
"position": "Starter",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "starter_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 8.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 8.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 5.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.2,
"delta": -1.1333,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 6.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.200 | -1.133 |
| predicted_SO | 6.000 | 0.000 |
Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 5.000 | 1.000 |
| predicted_H | 8.000 | 1.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.200 | 0.000 |
| predicted_SO | 6.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 29.000 | 19.000 | 38.000 | 3.000 | 25.000 | 3.000 | 5.8966 | 1.4138 | 0.6552 | 1.3103 | 0.1035 | 0.8621 | 0.1035 |
| last_10 | 0.35 | 10 | 52.000 | 48.000 | 79.000 | 10.000 | 44.000 | 12.000 | 8.3077 | 1.7115 | 0.9231 | 1.5192 | 0.1923 | 0.8461 | 0.2308 |
| season | 0.20 | 15 | 77.000 | 62.000 | 105.000 | 18.000 | 68.000 | 16.000 | 7.2468 | 1.5974 | 0.8052 | 1.3636 | 0.2338 | 0.8831 | 0.2078 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1320 |
| predicted_ER | 3.8320 |
| predicted_ERA | 6.3920 |
| predicted_H | 6.9500 |
| predicted_HR | 0.8850 |
| predicted_IP | 5.1000 |
| predicted_SO | 4.7700 |
| predicted_WHIP | 1.4978 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.1320 | 1.0719 | model_form_blend |
| predicted_ER | 4.0000 | 3.8320 | 3.9085 | model_form_blend |
| predicted_ERA | - | 6.3920 | 6.3920 | form_only |
| predicted_H | 7.0000 | 6.9500 | 6.9728 | model_form_blend |
| predicted_HR | 1.0000 | 0.8850 | 0.9374 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 6.0000 | 4.7700 | 5.3304 | model_form_blend |
| predicted_WHIP | - | 1.4978 | 1.4978 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4.2 |
| H | 8 |
| R | 5 |
| ER | 5 |
| BB | 1 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 88 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 2 |
| Pitching_ERA | 7.25 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 5 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 85 |
| Pitching_R | 2 |
| Pitching_SO | 7 |
| Pitching_Strikes | 55 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 607536 |
| playerID | 607536 |
| playerName | Kyle Freeland |
| pos | P |
| started | True |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.394 |
| sl_xwoba | 0.36 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 43.6 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 51.4 |
| sl_avg_best_speed | 80.086081527 |
| sl_avg_hyper_speed | 95.311808812 |
| 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.538 | 0.000 | -0.538 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.577 | 0.000 | -0.577 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.462 | 1.000 | -1.462 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.542 | 1.000 | -0.442 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.385 | 0.000 | -0.385 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "622608",
"player_name": "Antonio Senzatela",
"position": "Middle Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 5.000 | 9.000 | 2.000 | 4.000 | 0.000 | 7.9412 | 1.9412 | 0.8823 | 1.5882 | 0.3529 | 0.7059 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 10.000 | 19.000 | 5.000 | 10.000 | 1.000 | 7.5000 | 2.0000 | 0.8333 | 1.5833 | 0.4167 | 0.8333 | 0.0833 |
| season | 0.20 | 26 | 45.000 | 15.000 | 38.000 | 14.000 | 36.000 | 3.000 | 3.0000 | 1.1556 | 0.3333 | 0.8444 | 0.3111 | 0.8000 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4650 |
| predicted_ER | 0.8510 |
| predicted_ERA | 5.9863 |
| predicted_H | 1.6250 |
| predicted_HR | 0.1030 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.0700 |
| predicted_WHIP | 1.6331 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4650 | 0.2317 | model_form_blend |
| predicted_ER | 0.0000 | 0.8510 | 0.4240 | model_form_blend |
| predicted_ERA | - | 5.9863 | 5.9863 | form_only |
| predicted_H | 0.0000 | 1.6250 | 0.8097 | model_form_blend |
| predicted_HR | 0.0000 | 0.1030 | 0.0513 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0700 | 1.0349 | model_form_blend |
| predicted_WHIP | - | 1.6331 | 1.6331 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260704_SF@COL |
| game_type | full |
| mlbID | 622608 |
| playerID | 622608 |
| playerName | Antonio Senzatela |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-04 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.28 |
| sl_xwoba | 0.288 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 39.7 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 49.2 |
| sl_avg_best_speed | 75.805757538 |
| sl_avg_hyper_speed | 93.975751615 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.905 | 1.000 | 0.095 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.091 | 1.000 | -0.091 | 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": "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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 1.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.2000 | 0.2000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 7.000 | 13.000 | 3.000 | 13.000 | 2.000 | 6.3000 | 1.6000 | 0.7000 | 1.3000 | 0.3000 | 1.3000 | 0.2000 |
| season | 0.20 | 21 | 22.000 | 9.000 | 21.000 | 5.000 | 24.000 | 2.000 | 3.6818 | 1.1818 | 0.4091 | 0.9546 | 0.2273 | 1.0909 | 0.0909 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3030 |
| predicted_ER | 0.4210 |
| predicted_ERA | 3.7932 |
| predicted_H | 0.8610 |
| predicted_HR | 0.1210 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0330 |
| predicted_WHIP | 1.1636 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3030 | 0.1286 | model_form_blend |
| predicted_ER | 0.0000 | 0.4210 | 0.1787 | model_form_blend |
| predicted_ERA | - | 3.7932 | 3.7932 | form_only |
| predicted_H | 1.0000 | 0.8610 | 0.9410 | model_form_blend |
| predicted_HR | 0.0000 | 0.1210 | 0.0514 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0330 | 1.0140 | model_form_blend |
| predicted_WHIP | - | 1.1636 | 1.1636 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 22 |
| Season rows before report date | 22 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.68 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260705_SF@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-05 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.316 |
| sl_xwoba | 0.292 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 77.872459 |
| sl_avg_hyper_speed | 94.665179833 |
| 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.720 | 1.000 | 0.280 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.720 | 0.000 | 0.280 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.200 | 1.000 | -0.200 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.964 | 1.000 | 0.036 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.760 | 2.000 | -0.760 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 2 |
| Better Metrics | 3 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.3333 -> 1.0000 (boost 0.6667, better) |
| Biggest Deboost | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 3 | 1 | 2 | 3 | 0 | predicted_IP: 0.3333 -> 1.0000 (boost 0.6667, better) | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 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": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.0003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 1.0,
"delta": 0.6667,
"percent_delta": 2.0003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.000 | 1.000 | 4.000 | 3.000 | 3.000 | 1.000 | 1.2857 | 1.0000 | 0.1429 | 0.5714 | 0.4286 | 0.4286 | 0.1429 |
| last_10 | 0.35 | 10 | 11.000 | 4.000 | 10.000 | 7.000 | 5.000 | 1.000 | 3.2727 | 1.5455 | 0.3636 | 0.9091 | 0.6364 | 0.4546 | 0.0909 |
| season | 0.20 | 24 | 26.200 | 15.000 | 29.000 | 16.000 | 19.000 | 3.000 | 5.0625 | 1.6875 | 0.5625 | 1.0875 | 0.6000 | 0.7125 | 0.1125 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3380 |
| predicted_ER | 0.3020 |
| predicted_ERA | 3.6113 |
| predicted_H | 0.6620 |
| predicted_HR | 0.1000 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5410 |
| predicted_WHIP | 1.3277 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3380 | 0.7056 | model_form_blend |
| predicted_ER | 2.0000 | 0.3020 | 1.2450 | model_form_blend |
| predicted_ERA | - | 3.6113 | 3.6113 | form_only |
| predicted_H | 2.0000 | 0.6620 | 1.4050 | model_form_blend |
| predicted_HR | 0.0000 | 0.1000 | 0.0445 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.5410 | 0.2406 | model_form_blend |
| predicted_WHIP | - | 1.3277 | 1.3277 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.08 |
| 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 | 25 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 680767 |
| playerID | 680767 |
| playerName | Victor Vodnik |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-05 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 14.5 |
| sl_woba | 0.366 |
| sl_xwoba | 0.325 |
| sl_sweet_spot_percent | 24.4 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 46.2 |
| sl_avg_best_speed | 78.364765238 |
| sl_avg_hyper_speed | 93.826940119 |
| Field | Value |
|---|---|
| Pitcher | Eric Lauer |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.4340 |
| ESPN Rank | 268 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2045 |
| Avg Velo | 86.1203 |
| Avg Spin | 2015.1551 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 3 |
| Pre SO | 3 |
| Season ERA | 4.8396 |
| Season WHIP | 1.2736 |
| Role Avg IP | 4.9700 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"opponent": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"edges": {
"quality_edge": 0.573,
"offense_edge": 0.1742,
"opponent_offense_edge": 0.0927,
"defense_strength": 0.28,
"opponent_defense_weakness": 0.2064,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9582,
"strikeout": 1.0098
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641778",
"profile": {
"available": true,
"pitcher_id": "641778",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 184.0,
"k_percent": 14.7,
"bb_percent": 8.4,
"woba": 0.333,
"xwoba": 0.345,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 36.0,
"avg_best_speed": 77.2269,
"avg_hyper_speed": 93.6341,
"whiff_percent": 18.6,
"swing_percent": 50.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.5782,
"command_and_miss": -0.8279,
"regression_edge": -0.3429,
"xwoba_edge": -0.9143,
"barrel_edge": -0.9111,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.9857,
"bb_edge": 0.125,
"pitch_design_score": -0.2045
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641778",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.1203,
"release_spin_rate": 2015.1551,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2045,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4605,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.434,
"sample_weight": 0.736,
"run_prevention_factor": 1.0369,
"strikeout_factor": 0.9378,
"walk_factor": 0.9926,
"homer_factor": 1.0637,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641778",
"espn_id": 39915,
"player_name": "Eric Lauer",
"team": "LAD",
"role": "pitcher",
"espn_rank": 268,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 268,
"gp_value": 14.0,
"gp_rank": 362,
"gs_value": 11.0,
"gs_rank": 120,
"qs_value": 3.0,
"qs_rank": 103,
"era_value": 4.8396,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 5.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 70.2,
"ip_rank": 114,
"h_value": 65.0,
"h_rank": 109,
"er_value": 38.0,
"er_rank": 76,
"hr_value": 17.0,
"hr_rank": 13,
"bb_value": 25.0,
"bb_rank": 101,
"k_value": 44.0,
"k_rank": 183,
"k_per_9_value": 5.6037736,
"k_per_9_rank": 43.0,
"whip_value": 1.2735,
"whip_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0272,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0272,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9946,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0469,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9542,
"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": 53.0,
"ER": 24,
"H": 49,
"BB": 15,
"SO": 28,
"HR": 13,
"ERA": 4.075471698113207,
"WHIP": 1.2075471698113205,
"K9": 4.754716981132074,
"HR9": 2.2075471698113205,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "641778",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.1203,
"release_spin_rate": 2015.1551,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2045,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4605,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "641778",
"report_date": "20260706_C",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 10.0,
"R": 10.0,
"H": 23.0,
"BB": 8.0,
"SO": 14.0,
"HR": 5.0,
"BF": 115.0,
"Pitches": 431.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 4.6,
"BB": 1.6,
"SO": 2.8,
"HR": 1.0,
"BF": 23.0,
"Pitches": 86.2
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.0941,
"ER_per_IP": 0.35294,
"H_per_IP": 0.81176,
"BB_per_IP": 0.28235,
"SO_per_IP": 0.49412,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.0,
"ER": 24.0,
"R": 24.0,
"H": 49.0,
"BB": 15.0,
"SO": 28.0,
"HR": 13.0,
"BF": 220.0,
"Pitches": 815.0
},
"per_game": {
"IP": 5.1,
"ER": 2.4,
"R": 2.4,
"H": 4.9,
"BB": 1.5,
"SO": 2.8,
"HR": 1.3,
"BF": 22.0,
"Pitches": 81.5
},
"rates": {
"ERA": 4.0755,
"WHIP": 1.2075,
"ER_per_IP": 0.45283,
"H_per_IP": 0.92453,
"BB_per_IP": 0.28302,
"SO_per_IP": 0.5283,
"HR_per_IP": 0.24528
}
},
"season": {
"games": 14,
"totals": {
"IP": 70.2,
"ER": 38.0,
"R": 38.0,
"H": 65.0,
"BB": 25.0,
"SO": 44.0,
"HR": 17.0,
"BF": 299.0,
"Pitches": 1129.0
},
"per_game": {
"IP": 5.0,
"ER": 2.7143,
"R": 2.7143,
"H": 4.6429,
"BB": 1.7857,
"SO": 3.1429,
"HR": 1.2143,
"BF": 21.3571,
"Pitches": 80.6429
},
"rates": {
"ERA": 4.8396,
"WHIP": 1.2736,
"ER_per_IP": 0.53774,
"H_per_IP": 0.91981,
"BB_per_IP": 0.35377,
"SO_per_IP": 0.62264,
"HR_per_IP": 0.24057
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.404,
"predicted_H": 4.846,
"predicted_BB": 1.687,
"predicted_SO": 3.469,
"predicted_HR": 1.06,
"predicted_ERA": 4.0114,
"predicted_WHIP": 1.2111
}
}{
"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.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.404,
"final": 2.2177,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.846,
"final": 3.9946,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.687,
"final": 2.2926,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.469,
"final": 3.2527,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.06,
"final": 0.5711,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0114,
"final": 4.0114,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2111,
"final": 1.2111,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.4553 |
| ESPN Rank | 226 |
| 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.5962 |
| Season WHIP | 0.8942 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"opponent": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"edges": {
"quality_edge": 0.573,
"offense_edge": 0.1742,
"opponent_offense_edge": 0.0927,
"defense_strength": 0.28,
"opponent_defense_weakness": 0.2064,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9582,
"strikeout": 1.0098
},
"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.3,
"bb_percent": 8.3,
"woba": 0.239,
"xwoba": 0.242,
"sweet_spot_percent": 21.4,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 31.0,
"avg_best_speed": 71.0546,
"avg_hyper_speed": 92.5876,
"whiff_percent": 26.2,
"swing_percent": 50.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.6813,
"command_and_miss": 0.3029,
"regression_edge": -0.0857,
"xwoba_edge": 2.0286,
"barrel_edge": 0.8222,
"hard_hit_edge": 1.0571,
"whiff_edge": 0.1,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683618",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4553,
"sample_weight": 0.45,
"run_prevention_factor": 0.9613,
"strikeout_factor": 1.0113,
"walk_factor": 0.9946,
"homer_factor": 0.924,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683618",
"espn_id": 5194684,
"player_name": "Edgardo Henriquez",
"team": "LAD",
"role": "pitcher",
"espn_rank": 226,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 226,
"gp_value": 33.0,
"gp_rank": 98,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.5961,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 6.0,
"hld_rank": 89,
"ip_value": 34.2,
"ip_rank": 275,
"h_value": 20.0,
"h_rank": 394,
"er_value": 10.0,
"er_rank": 388,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 35.0,
"k_rank": 255,
"k_per_9_value": 9.086538,
"k_per_9_rank": 25.0,
"whip_value": 0.8942,
"whip_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9658,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0051,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 5,
"BB": 2,
"SO": 10,
"HR": 0,
"ERA": 1.8000000000000003,
"WHIP": 0.7000000000000002,
"K9": 9.000000000000002,
"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-03T00: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.875,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5789,
"prior_weight": 0.4211
},
"role": "pitcher",
"player_id": "683618",
"report_date": "20260706_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": 0.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 54.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 3.0,
"Pitches": 10.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 10.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 121.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.1
},
"rates": {
"ERA": 1.8,
"WHIP": 0.7,
"ER_per_IP": 0.2,
"H_per_IP": 0.5,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 33,
"totals": {
"IP": 34.2,
"ER": 10.0,
"R": 12.0,
"H": 20.0,
"BB": 11.0,
"SO": 35.0,
"HR": 1.0,
"BF": 133.0,
"Pitches": 509.0
},
"per_game": {
"IP": 1.0,
"ER": 0.303,
"R": 0.3636,
"H": 0.6061,
"BB": 0.3333,
"SO": 1.0606,
"HR": 0.0303,
"BF": 4.0303,
"Pitches": 15.4242
},
"rates": {
"ERA": 2.5962,
"WHIP": 0.8942,
"ER_per_IP": 0.28846,
"H_per_IP": 0.57692,
"BB_per_IP": 0.31731,
"SO_per_IP": 1.00962,
"HR_per_IP": 0.02885
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.286,
"predicted_H": 0.577,
"predicted_BB": 0.28,
"predicted_SO": 0.93,
"predicted_HR": 0.066,
"predicted_ERA": 2.5757,
"predicted_WHIP": 0.8562
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5279,
"form_weight": 0.4721,
"form_reliability": 0.5789,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.875,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5789,
"prior_weight": 0.4211
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.286,
"final": 0.135,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.577,
"final": 0.2724,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.28,
"final": 0.1322,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.93,
"final": 0.439,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0312,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5757,
"final": 2.5757,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8562,
"final": 0.8562,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.4250 |
| ESPN Rank | 89 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.0187 |
| Season WHIP | 0.7009 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"opponent": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"edges": {
"quality_edge": 0.573,
"offense_edge": 0.1742,
"opponent_offense_edge": 0.0927,
"defense_strength": 0.28,
"opponent_defense_weakness": 0.2064,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9582,
"strikeout": 1.0098
},
"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": 34.4,
"bb_percent": 2.3,
"woba": 0.215,
"xwoba": 0.256,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 29.3,
"avg_best_speed": 79.4639,
"avg_hyper_speed": 92.9837,
"whiff_percent": 33.9,
"swing_percent": 54.9
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.1954,
"command_and_miss": 1.5086,
"regression_edge": -1.1714,
"xwoba_edge": 1.6286,
"barrel_edge": 0.0,
"hard_hit_edge": 1.3,
"whiff_edge": 1.2,
"bb_edge": 1.65,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656945",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.425,
"sample_weight": 0.45,
"run_prevention_factor": 0.9639,
"strikeout_factor": 1.0519,
"walk_factor": 0.9406,
"homer_factor": 0.9546,
"woba_minus_xwoba": -0.041,
"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": 89,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 89,
"gp_value": 38.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.0186,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 12.0,
"sv_rank": 15,
"hld_value": 6.0,
"hld_rank": 89,
"ip_value": 35.2,
"ip_rank": 257,
"h_value": 22.0,
"h_rank": 365,
"er_value": 8.0,
"er_rank": 451,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 3.0,
"bb_rank": 569,
"k_value": 45.0,
"k_rank": 178,
"k_per_9_value": 11.355141,
"k_per_9_rank": 18.0,
"whip_value": 0.7009,
"whip_rank": null,
"war_value": 1.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9733,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9796,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0234,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 1,
"H": 6,
"BB": 0,
"SO": 15,
"HR": 0,
"ERA": 0.9310344827586208,
"WHIP": 0.6206896551724138,
"K9": 13.965517241379311,
"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-03T00: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": 7.073,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5859,
"prior_weight": 0.4141
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260706_C",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 66.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6429,
"ER_per_IP": 0.0,
"H_per_IP": 0.64286,
"BB_per_IP": 0.0,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 0.0,
"SO": 15.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.0,
"SO": 1.5,
"HR": 0.0,
"BF": 3.5,
"Pitches": 13.7
},
"rates": {
"ERA": 0.931,
"WHIP": 0.6207,
"ER_per_IP": 0.10345,
"H_per_IP": 0.62069,
"BB_per_IP": 0.0,
"SO_per_IP": 1.55172,
"HR_per_IP": 0.0
}
},
"season": {
"games": 38,
"totals": {
"IP": 35.2,
"ER": 8.0,
"R": 8.0,
"H": 22.0,
"BB": 3.0,
"SO": 45.0,
"HR": 4.0,
"BF": 131.0,
"Pitches": 510.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2105,
"R": 0.2105,
"H": 0.5789,
"BB": 0.0789,
"SO": 1.1842,
"HR": 0.1053,
"BF": 3.4474,
"Pitches": 13.4211
},
"rates": {
"ERA": 2.0187,
"WHIP": 0.7009,
"ER_per_IP": 0.2243,
"H_per_IP": 0.61682,
"BB_per_IP": 0.08411,
"SO_per_IP": 1.26168,
"HR_per_IP": 0.11215
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.256,
"predicted_H": 0.771,
"predicted_BB": 0.158,
"predicted_SO": 1.257,
"predicted_HR": 0.075,
"predicted_ERA": 2.3061,
"predicted_WHIP": 0.9284
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.525,
"form_weight": 0.475,
"form_reliability": 0.5859,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.073,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5859,
"prior_weight": 0.4141
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.256,
"final": 0.1216,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.771,
"final": 0.3663,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.158,
"final": 0.0751,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.257,
"final": 1.1221,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0356,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3061,
"final": 2.3061,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9284,
"final": 0.9284,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.3795 |
| ESPN Rank | 170 |
| 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 | 2 |
| Pre SO | 1 |
| Season ERA | 2.4828 |
| Season WHIP | 1.0690 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 97,
"wins": 62,
"losses": 35,
"win_pct": 0.6392,
"runs_scored": 517.0,
"runs_allowed": 344.0,
"run_differential": 173.0,
"run_differential_per_game": 1.7835,
"avg_runs_scored": 5.3299,
"avg_runs_allowed": 3.5464,
"offense_index": 1.1742,
"defense_index": 1.28,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.0,
"avg_runs_allowed": 4.1,
"run_differential": 19.0
},
"available": true,
"quality_score": 0.4044
},
"opponent": {
"team": "COL",
"games": 100,
"wins": 41,
"losses": 59,
"win_pct": 0.41,
"runs_scored": 496.0,
"runs_allowed": 572.0,
"run_differential": -76.0,
"run_differential_per_game": -0.76,
"avg_runs_scored": 4.96,
"avg_runs_allowed": 5.72,
"offense_index": 1.0927,
"defense_index": 0.7936,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 7.4,
"avg_runs_allowed": 6.3,
"run_differential": 11.0
},
"available": true,
"quality_score": -0.1686
},
"edges": {
"quality_edge": 0.573,
"offense_edge": 0.1742,
"opponent_offense_edge": 0.0927,
"defense_strength": 0.28,
"opponent_defense_weakness": 0.2064,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9582,
"strikeout": 1.0098
},
"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.5,
"bb_percent": 14.3,
"woba": 0.206,
"xwoba": 0.256,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 36.1,
"avg_best_speed": 77.4773,
"avg_hyper_speed": 92.5348,
"whiff_percent": 38.1,
"swing_percent": 47.1
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.2387,
"command_and_miss": 1.125,
"regression_edge": -1.4286,
"xwoba_edge": 1.6286,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.3286,
"whiff_edge": 1.8,
"bb_edge": -1.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3795,
"sample_weight": 0.45,
"run_prevention_factor": 0.9677,
"strikeout_factor": 1.063,
"walk_factor": 1.0486,
"homer_factor": 0.9529,
"woba_minus_xwoba": -0.05,
"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": 170,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 170,
"gp_value": 39.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.4827,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 14.0,
"hld_rank": 10,
"ip_value": 29.0,
"ip_rank": 337,
"h_value": 14.0,
"h_rank": 472,
"er_value": 8.0,
"er_rank": 451,
"hr_value": 0.0,
"hr_rank": 625,
"bb_value": 17.0,
"bb_rank": 207,
"k_value": 41.0,
"k_rank": 205,
"k_per_9_value": 12.724137,
"k_per_9_rank": 16.0,
"whip_value": 1.0689,
"whip_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9855,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9855,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0219,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9788,
"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": 7.0,
"ER": 1,
"H": 3,
"BB": 5,
"SO": 11,
"HR": 0,
"ERA": 1.2857142857142858,
"WHIP": 1.1428571428571428,
"K9": 14.142857142857142,
"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-04T00: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.751,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5349,
"prior_weight": 0.4651
},
"role": "pitcher",
"player_id": "681911",
"report_date": "20260706_C",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 65.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.0,
"Pitches": 13.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.90909,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 5.0,
"SO": 11.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 127.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1,
"R": 0.1,
"H": 0.3,
"BB": 0.5,
"SO": 1.1,
"HR": 0.0,
"BF": 2.9,
"Pitches": 12.7
},
"rates": {
"ERA": 1.2857,
"WHIP": 1.1429,
"ER_per_IP": 0.14286,
"H_per_IP": 0.42857,
"BB_per_IP": 0.71429,
"SO_per_IP": 1.57143,
"HR_per_IP": 0.0
}
},
"season": {
"games": 39,
"totals": {
"IP": 29.0,
"ER": 8.0,
"R": 8.0,
"H": 14.0,
"BB": 17.0,
"SO": 41.0,
"HR": 0.0,
"BF": 119.0,
"Pitches": 535.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2051,
"R": 0.2051,
"H": 0.359,
"BB": 0.4359,
"SO": 1.0513,
"HR": 0.0,
"BF": 3.0513,
"Pitches": 13.7179
},
"rates": {
"ERA": 2.4828,
"WHIP": 1.069,
"ER_per_IP": 0.27586,
"H_per_IP": 0.48276,
"BB_per_IP": 0.58621,
"SO_per_IP": 1.41379,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.238,
"predicted_H": 0.52,
"predicted_BB": 0.285,
"predicted_SO": 0.899,
"predicted_HR": 0.046,
"predicted_ERA": 3.2071,
"predicted_WHIP": 1.2081
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5465,
"form_weight": 0.4535,
"form_reliability": 0.5349,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.751,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5349,
"prior_weight": 0.4651
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.238,
"final": 0.1079,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.52,
"final": 0.2358,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.285,
"final": 1.2223,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.899,
"final": 0.9542,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.046,
"final": 0.0209,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2071,
"final": 3.2071,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2081,
"final": 1.2081,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 0.000 | 0.000 | Hitting_2B | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 4.070 | 3.000 | 4.000 | Hitting_AB | 3.794 | 3.000 | -0.794 | 0.000 |
| predicted_AVG | 0.249 | 0.333 | 0.250 | Hitting_AVG | 0.281 | 0.333 | 0.052 | 0.000 |
| predicted_BB | 0.707 | 1.000 | 1.000 | Hitting_BB | 0.754 | 1.000 | 0.246 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 1.020 | 1.000 | 1.000 | Hitting_H | 1.066 | 1.000 | -0.066 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_OBP | 0.343 | 0.500 | 0.400 | Hitting_OBP | 0.406 | 0.500 | 0.094 | 0.000 |
| predicted_R | 0.732 | 1.000 | 1.000 | Hitting_R | 0.717 | 0.000 | 0.283 | 1.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.632 | 1.000 | -0.632 | -1.000 |
| predicted_SLG | 0.430 | 0.333 | 0.250 | Hitting_SLG | 0.495 | 0.333 | -0.162 | 0.000 |
| predicted_SO | 1.061 | 1.000 | 1.000 | Hitting_SO | 1.048 | 1.000 | -0.048 | 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_BB: 0.7070 -> 1.0000 (boost 0.2930, 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 | 1 | 3 | predicted_OBP: 0.3430 -> 0.3494 (boost 0.0064, better) | predicted_R: 0.7320 -> 0.6489 (deboost -0.0831, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 6 | 0 | 6 | 0 | predicted_R: 0.6489 -> 0.7193 (boost 0.0704, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 2 | 3 | predicted_RBI: 0.5871 -> 1.0000 (boost 0.4129, better) | predicted_HR: 0.1733 -> 0.0000 (deboost -0.1733, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.263 HR/AB=0.043 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.538) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7193 -> 1.0000 (boost 0.2807, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3752 -> 0.4000 (boost 0.0248, better) | predicted_SLG: 0.4482 -> 0.2500 (deboost -0.1982, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 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.4482 (boost 0.1982, better) | predicted_OBP: 0.4000 -> 0.3752 (deboost -0.0248, 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.183,
"predicted_3B": 0.024,
"predicted_AB": 4.07,
"predicted_AVG": 0.249,
"predicted_BB": 0.707,
"predicted_H": 1.02,
"predicted_HR": 0.17,
"predicted_OBP": 0.343,
"predicted_R": 0.732,
"predicted_RBI": 0.53,
"predicted_SLG": 0.43,
"predicted_SO": 1.061
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1547,
"predicted_3B": 0.0201,
"predicted_AB": 3.9873,
"predicted_AVG": 0.2522,
"predicted_BB": 0.6624,
"predicted_H": 1.0089,
"predicted_HBP": 0.037,
"predicted_HR": 0.1619,
"predicted_OBP": 0.3494,
"predicted_R": 0.6489,
"predicted_RBI": 0.5296,
"predicted_SLG": 0.4221,
"predicted_SO": 1.0366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.1547,
"delta": -0.0283,
"percent_delta": -0.1546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0201,
"delta": -0.0039,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9873,
"delta": -0.0827,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2522,
"delta": 0.0032,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.707,
"after": 0.6624,
"delta": -0.0446,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0089,
"delta": -0.0111,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1619,
"delta": -0.0081,
"percent_delta": -0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3494,
"delta": 0.0064,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.732,
"after": 0.6489,
"delta": -0.0831,
"percent_delta": -0.1135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5296,
"delta": -0.0004,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4221,
"delta": -0.0079,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.061,
"after": 1.0366,
"delta": -0.0244,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3494,
"delta": 0.0064,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.732,
"after": 0.6489,
"delta": -0.0831,
"percent_delta": -0.1135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1547,
"predicted_3B": 0.0201,
"predicted_AB": 3.9873,
"predicted_AVG": 0.2689,
"predicted_BB": 0.6784,
"predicted_H": 1.0724,
"predicted_HBP": 0.037,
"predicted_HR": 0.1733,
"predicted_OBP": 0.3752,
"predicted_R": 0.7193,
"predicted_RBI": 0.5871,
"predicted_SLG": 0.4482,
"predicted_SO": 1.0115
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1547,
"after": 0.1547,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0201,
"after": 0.0201,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9873,
"after": 3.9873,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2522,
"after": 0.2689,
"delta": 0.0167,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6624,
"after": 0.6784,
"delta": 0.016,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0089,
"after": 1.0724,
"delta": 0.0635,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1619,
"after": 0.1733,
"delta": 0.0114,
"percent_delta": 0.0704,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3494,
"after": 0.3752,
"delta": 0.0258,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6489,
"after": 0.7193,
"delta": 0.0704,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5296,
"after": 0.5871,
"delta": 0.0575,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4221,
"after": 0.4482,
"delta": 0.0261,
"percent_delta": 0.0618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0366,
"after": 1.0115,
"delta": -0.0251,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6489,
"after": 0.7193,
"delta": 0.0704,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.07), rates preserved: AVG=0.263 HR/AB=0.043",
"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.1547,
"after": 0.0,
"delta": -0.1547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0201,
"after": 0.0,
"delta": -0.0201,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9873,
"after": 4.0,
"delta": 0.0127,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6784,
"after": 1.0,
"delta": 0.3216,
"percent_delta": 0.4741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0724,
"after": 1.0,
"delta": -0.0724,
"percent_delta": -0.0675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1733,
"after": 0.0,
"delta": -0.1733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5871,
"after": 1.0,
"delta": 0.4129,
"percent_delta": 0.7033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0115,
"after": 1.0,
"delta": -0.0115,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5871,
"after": 1.0,
"delta": 0.4129,
"percent_delta": 0.7033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1733,
"after": 0.0,
"delta": -0.1733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.538)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8791,
"bvp": 0.1209
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7193,
"after": 1.0,
"delta": 0.2807,
"percent_delta": 0.3902,
"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.7193,
"after": 1.0,
"delta": 0.2807,
"percent_delta": 0.3902,
"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.2689,
"after": 0.25,
"delta": -0.0189,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3752,
"after": 0.4,
"delta": 0.0248,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4482,
"after": 0.25,
"delta": -0.1982,
"percent_delta": -0.4422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3752,
"after": 0.4,
"delta": 0.0248,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4482,
"after": 0.25,
"delta": -0.1982,
"percent_delta": -0.4422,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2689,
"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.3752,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4482,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2689,
"delta": 0.0189,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3752,
"delta": -0.0248,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4482,
"delta": 0.1982,
"percent_delta": 0.7927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4482,
"delta": 0.1982,
"percent_delta": 0.7927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3752,
"delta": -0.0248,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.0,
"delta": -0.183,
"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.07,
"after": 3.0,
"delta": -1.07,
"percent_delta": -0.2629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2689,
"delta": 0.0199,
"percent_delta": 0.0799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.707,
"after": 1.0,
"delta": 0.293,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3752,
"delta": 0.0322,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.732,
"after": 1.0,
"delta": 0.268,
"percent_delta": 0.3661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4482,
"delta": 0.0182,
"percent_delta": 0.0423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.061,
"after": 1.0,
"delta": -0.061,
"percent_delta": -0.0575,
"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_BB",
"before": 0.707,
"after": 1.0,
"delta": 0.293,
"percent_delta": 0.4144,
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.707 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.732 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 1.061 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.028 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.987 | -0.083 |
| predicted_AVG | 0.252 | 0.003 |
| predicted_BB | 0.662 | -0.045 |
| predicted_H | 1.009 | -0.011 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.162 | -0.008 |
| predicted_OBP | 0.349 | 0.006 |
| predicted_R | 0.649 | -0.083 |
| predicted_RBI | 0.530 | -0.000 |
| predicted_SLG | 0.422 | -0.008 |
| predicted_SO | 1.037 | -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.155 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.987 | 0.000 |
| predicted_AVG | 0.269 | 0.017 |
| predicted_BB | 0.678 | 0.016 |
| predicted_H | 1.072 | 0.064 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.173 | 0.011 |
| predicted_OBP | 0.375 | 0.026 |
| predicted_R | 0.719 | 0.070 |
| predicted_RBI | 0.587 | 0.057 |
| predicted_SLG | 0.448 | 0.026 |
| predicted_SO | 1.012 | -0.025 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.263 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.538)
| 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.155 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.013 |
| predicted_AVG | 0.250 | -0.019 |
| predicted_BB | 1.000 | 0.322 |
| predicted_H | 1.000 | -0.072 |
| predicted_HR | 0.000 | -0.173 |
| predicted_OBP | 0.400 | 0.025 |
| predicted_R | 1.000 | 0.281 |
| predicted_RBI | 1.000 | 0.413 |
| predicted_SLG | 0.250 | -0.198 |
| 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 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 0.000 | 1.000 | 0.000 | 3.000 | 4.000 | 0.1579 | 0.2727 | 0.1579 | 0.1579 | 0.0000 | 0.0526 | 0.1579 | 0.2105 |
| last_10 | 0.20 | 10 | - | 42.000 | 11.000 | 0.000 | 0.000 | 1.000 | 6.000 | 5.000 | 4.000 | 11.000 | 0.2619 | 0.3261 | 0.3333 | 0.2619 | 0.0238 | 0.1429 | 0.0952 | 0.2619 |
| season | 0.60 | 82 | - | 312.000 | 90.000 | 15.000 | 2.000 | 18.000 | 51.000 | 60.000 | 58.000 | 87.000 | 0.2885 | 0.4037 | 0.5224 | 0.2885 | 0.0577 | 0.1635 | 0.1859 | 0.2788 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1170 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.8770 |
| predicted_AVG | 0.2564 |
| predicted_BB | 0.6030 |
| predicted_H | 0.9940 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.3579 |
| predicted_R | 0.5380 |
| predicted_RBI | 0.5290 |
| predicted_SLG | 0.4115 |
| predicted_SO | 1.0040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.1170 | 0.1547 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0201 | model_form_blend |
| predicted_AB | 4.0700 | 3.8770 | 3.9873 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2564 | 0.2522 | model_form_blend |
| predicted_BB | 0.7070 | 0.6030 | 0.6624 | model_form_blend |
| predicted_H | 1.0200 | 0.9940 | 1.0089 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.1700 | 0.1510 | 0.1619 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3579 | 0.3494 | model_form_blend |
| predicted_R | 0.7320 | 0.5380 | 0.6489 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5290 | 0.5296 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4115 | 0.4221 | model_form_blend |
| predicted_SO | 1.0610 | 1.0040 | 1.0366 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.394 |
| sl_xwoba | 0.409 |
| sl_xba | 0.29 |
| sl_xslg | 0.555 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 15.8 |
| sl_hard_hit_percent | 52.0 |
| sl_exit_velocity_avg | 93.4 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 43.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.185 | 1.000 | 0.000 | Hitting_2B | 0.104 | 0.000 | 0.896 | 1.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 | 4.192 | 3.000 | -0.192 | 1.000 |
| predicted_AVG | 0.248 | 0.250 | 0.250 | Hitting_AVG | 0.204 | 0.000 | 0.046 | 0.250 |
| predicted_BB | 0.315 | 0.000 | 0.000 | Hitting_BB | 0.248 | 1.000 | -0.248 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 1.060 | 1.000 | 1.000 | Hitting_H | 0.856 | 0.000 | 0.144 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.272 | 0.000 | -0.272 | 0.000 |
| predicted_OBP | 0.320 | 0.250 | 0.250 | Hitting_OBP | 0.254 | 0.250 | -0.004 | 0.000 |
| predicted_R | 0.611 | 1.000 | 1.000 | Hitting_R | 0.640 | 0.000 | 0.360 | 1.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.680 | 0.000 | -0.680 | 0.000 |
| predicted_SLG | 0.451 | 0.500 | 0.250 | Hitting_SLG | 0.424 | 0.000 | 0.076 | 0.500 |
| predicted_SO | 0.519 | 2.000 | 1.000 | Hitting_SO | 0.576 | 0.000 | 1.424 | 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_SO: 0.5190 -> 2.0000 (boost 1.4810, worse) |
| Biggest Deboost | predicted_RBI: 0.5500 -> 0.0000 (deboost -0.5500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_SLG: 0.4510 -> 0.4611 (boost 0.0101, better) | predicted_AB: 4.2600 -> 4.1661 (deboost -0.0939, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 4 | 0 | 4 | 0 | predicted_R: 0.6264 -> 0.6944 (boost 0.0680, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_RBI: 0.6189 -> 1.0000 (boost 0.3811, better) | predicted_SO: 0.4547 -> 0.0000 (deboost -0.4547, better) | AB rounded to 4 (raw=4.26), rates preserved: AVG=0.268 HR/AB=0.042 |
| 5 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Sample-size BvP blend (BvP AB=45.0, weight=0.240, BvP AVG=0.289) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6944 -> 1.0000 (boost 0.3056, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4581 -> 0.2500 (deboost -0.2081, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4581 (boost 0.2081, 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.185,
"predicted_3B": 0.0,
"predicted_AB": 4.26,
"predicted_AVG": 0.248,
"predicted_BB": 0.315,
"predicted_H": 1.06,
"predicted_HR": 0.16,
"predicted_OBP": 0.32,
"predicted_R": 0.611,
"predicted_RBI": 0.55,
"predicted_SLG": 0.451,
"predicted_SO": 0.519
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0008,
"predicted_AB": 4.1661,
"predicted_AVG": 0.2572,
"predicted_BB": 0.3179,
"predicted_H": 1.0725,
"predicted_HBP": 0.014,
"predicted_HR": 0.1667,
"predicted_OBP": 0.3224,
"predicted_R": 0.6264,
"predicted_RBI": 0.5583,
"predicted_SLG": 0.4611,
"predicted_SO": 0.466
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.2317,
"delta": 0.0467,
"percent_delta": 0.2524,
"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.1661,
"delta": -0.0939,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2572,
"delta": 0.0092,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.3179,
"delta": 0.0029,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0725,
"delta": 0.0125,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1667,
"delta": 0.0067,
"percent_delta": 0.0419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3224,
"delta": 0.0024,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.611,
"after": 0.6264,
"delta": 0.0154,
"percent_delta": 0.0252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5583,
"delta": 0.0083,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4611,
"delta": 0.0101,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.519,
"after": 0.466,
"delta": -0.053,
"percent_delta": -0.1021,
"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_SLG",
"before": 0.451,
"after": 0.4611,
"delta": 0.0101,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 4.1661,
"delta": -0.0939,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 54
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2317,
"predicted_3B": 0.0008,
"predicted_AB": 4.1661,
"predicted_AVG": 0.2736,
"predicted_BB": 0.3256,
"predicted_H": 1.14,
"predicted_HBP": 0.014,
"predicted_HR": 0.1784,
"predicted_OBP": 0.3263,
"predicted_R": 0.6944,
"predicted_RBI": 0.6189,
"predicted_SLG": 0.4581,
"predicted_SO": 0.4547
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1661,
"after": 4.1661,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2572,
"after": 0.2736,
"delta": 0.0164,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3179,
"after": 0.3256,
"delta": 0.0077,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0725,
"after": 1.14,
"delta": 0.0675,
"percent_delta": 0.0629,
"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.1667,
"after": 0.1784,
"delta": 0.0117,
"percent_delta": 0.0702,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3224,
"after": 0.3263,
"delta": 0.0039,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6264,
"after": 0.6944,
"delta": 0.068,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5583,
"after": 0.6189,
"delta": 0.0606,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4611,
"after": 0.4581,
"delta": -0.003,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.466,
"after": 0.4547,
"delta": -0.0113,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6264,
"after": 0.6944,
"delta": 0.068,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.268 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.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.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1661,
"after": 4.0,
"delta": -0.1661,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3256,
"after": 0.0,
"delta": -0.3256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.1784,
"after": 0.0,
"delta": -0.1784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6189,
"after": 1.0,
"delta": 0.3811,
"percent_delta": 0.6158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4547,
"after": 0.0,
"delta": -0.4547,
"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.6189,
"after": 1.0,
"delta": 0.3811,
"percent_delta": 0.6158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4547,
"after": 0.0,
"delta": -0.4547,
"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=45.0, weight=0.240, BvP AVG=0.289)",
"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.76,
"bvp": 0.24
},
"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.6944,
"after": 1.0,
"delta": 0.3056,
"percent_delta": 0.4401,
"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.6944,
"after": 1.0,
"delta": 0.3056,
"percent_delta": 0.4401,
"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.2736,
"after": 0.25,
"delta": -0.0236,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0763,
"percent_delta": -0.2338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4581,
"after": 0.25,
"delta": -0.2081,
"percent_delta": -0.4543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4581,
"after": 0.25,
"delta": -0.2081,
"percent_delta": -0.4543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 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": 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.2736,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3263,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4581,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2736,
"delta": 0.0236,
"percent_delta": 0.0945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3263,
"delta": 0.0763,
"percent_delta": 0.3051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4581,
"delta": 0.2081,
"percent_delta": 0.8324,
"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.4581,
"delta": 0.2081,
"percent_delta": 0.8324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"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.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.248,
"after": 0.2736,
"delta": 0.0256,
"percent_delta": 0.1032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"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.3263,
"delta": 0.0063,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.611,
"after": 1.0,
"delta": 0.389,
"percent_delta": 0.6367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4581,
"delta": 0.0071,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.519,
"after": 2.0,
"delta": 1.481,
"percent_delta": 2.8536,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.519,
"after": 2.0,
"delta": 1.481,
"percent_delta": 2.8536,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.611 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.451 | - |
| predicted_SO | 0.519 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.047 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.166 | -0.094 |
| predicted_AVG | 0.257 | 0.009 |
| predicted_BB | 0.318 | 0.003 |
| predicted_H | 1.073 | 0.012 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.167 | 0.007 |
| predicted_OBP | 0.322 | 0.002 |
| predicted_R | 0.626 | 0.015 |
| predicted_RBI | 0.558 | 0.008 |
| predicted_SLG | 0.461 | 0.010 |
| predicted_SO | 0.466 | -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.232 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.166 | 0.000 |
| predicted_AVG | 0.274 | 0.016 |
| predicted_BB | 0.326 | 0.008 |
| predicted_H | 1.140 | 0.067 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.178 | 0.012 |
| predicted_OBP | 0.326 | 0.004 |
| predicted_R | 0.694 | 0.068 |
| predicted_RBI | 0.619 | 0.061 |
| predicted_SLG | 0.458 | -0.003 |
| predicted_SO | 0.455 | -0.011 |
AB rounded to 4 (raw=4.26), rates preserved: AVG=0.268 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=45.0, weight=0.240, BvP AVG=0.289)
| 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.232 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.166 |
| predicted_AVG | 0.250 | -0.024 |
| predicted_BB | 0.000 | -0.326 |
| predicted_H | 1.000 | -0.140 |
| predicted_HR | 0.000 | -0.178 |
| predicted_OBP | 0.250 | -0.076 |
| predicted_R | 1.000 | 0.306 |
| predicted_RBI | 1.000 | 0.381 |
| predicted_SLG | 0.250 | -0.208 |
| predicted_SO | 1.000 | 0.545 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 0.000 | 0.3000 | 0.3636 | 0.4500 | 0.3000 | 0.0000 | 0.1000 | 0.1000 | 0.0000 |
| last_10 | 0.20 | 10 | - | 41.000 | 14.000 | 4.000 | 0.000 | 3.000 | 9.000 | 7.000 | 3.000 | 1.000 | 0.3415 | 0.3864 | 0.6585 | 0.3415 | 0.0732 | 0.2195 | 0.0732 | 0.0244 |
| season | 0.60 | 54 | - | 220.000 | 53.000 | 10.000 | 0.000 | 11.000 | 29.000 | 33.000 | 17.000 | 28.000 | 0.2409 | 0.2971 | 0.4364 | 0.2409 | 0.0500 | 0.1318 | 0.0773 | 0.1273 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2970 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.0350 |
| predicted_AVG | 0.2701 |
| predicted_BB | 0.3220 |
| predicted_H | 1.0900 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1760 |
| predicted_OBP | 0.3258 |
| predicted_R | 0.6480 |
| predicted_RBI | 0.5700 |
| predicted_SLG | 0.4753 |
| predicted_SO | 0.3920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.2970 | 0.2317 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.2600 | 4.0350 | 4.1661 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2701 | 0.2572 | model_form_blend |
| predicted_BB | 0.3150 | 0.3220 | 0.3179 | model_form_blend |
| predicted_H | 1.0600 | 1.0900 | 1.0725 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.1600 | 0.1760 | 0.1667 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3258 | 0.3224 | model_form_blend |
| predicted_R | 0.6110 | 0.6480 | 0.6264 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5700 | 0.5583 | model_form_blend |
| predicted_SLG | 0.4510 | 0.4753 | 0.4611 | model_form_blend |
| predicted_SO | 0.5190 | 0.3920 | 0.4660 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 125 |
| Season rows before report date | 125 |
| Report year | 2026 |
| Profile rows used | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 11.7 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.319 |
| sl_xwoba | 0.34 |
| sl_xba | 0.282 |
| sl_xslg | 0.446 |
| sl_sweet_spot_percent | 43.0 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 38.9 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 13.0 |
| sl_swing_percent | 41.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.233 | 0.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.320 | 4.000 | 4.000 | Hitting_AB | 3.850 | 2.000 | 0.150 | 2.000 |
| predicted_AVG | 0.243 | 0.250 | 0.250 | Hitting_AVG | 0.302 | 0.000 | -0.052 | 0.250 |
| predicted_BB | 0.344 | 0.000 | 0.000 | Hitting_BB | 0.312 | 2.000 | -0.312 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 1.050 | 1.000 | 1.000 | Hitting_H | 1.162 | 0.000 | -0.162 | 1.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_OBP | 0.342 | 0.250 | 0.250 | Hitting_OBP | 0.356 | 0.500 | -0.106 | -0.250 |
| predicted_R | 0.589 | 1.000 | 1.000 | Hitting_R | 0.673 | 0.000 | 0.327 | 1.000 |
| predicted_RBI | 0.640 | 3.000 | 1.000 | Hitting_RBI | 0.900 | 0.000 | 2.100 | 3.000 |
| predicted_SLG | 0.425 | 1.000 | 0.250 | Hitting_SLG | 0.547 | 0.000 | 0.453 | 1.000 |
| predicted_SO | 0.833 | 1.000 | 1.000 | Hitting_SO | 0.800 | 1.000 | 0.200 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.6400 -> 3.0000 (boost 2.3600, better) |
| Biggest Deboost | predicted_BB: 0.3440 -> 0.0000 (deboost -0.3440, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3440 -> 0.4401 (boost 0.0961, better) | predicted_AB: 4.3200 -> 4.0493 (deboost -0.2707, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 5 | 1 | 5 | 1 | predicted_RBI: 0.6353 -> 0.7042 (boost 0.0689, better) | predicted_OBP: 0.3489 -> 0.3363 (deboost -0.0126, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.7042 -> 1.0000 (boost 0.2958, better) | predicted_BB: 0.4508 -> 0.0000 (deboost -0.4508, worse) | AB rounded to 4 (raw=4.32), rates preserved: AVG=0.246 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.600) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6220 -> 1.0000 (boost 0.3780, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4347 -> 0.2500 (deboost -0.1847, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4347 (boost 0.1847, 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.011,
"predicted_AB": 4.32,
"predicted_AVG": 0.243,
"predicted_BB": 0.344,
"predicted_H": 1.05,
"predicted_HR": 0.14,
"predicted_OBP": 0.342,
"predicted_R": 0.589,
"predicted_RBI": 0.64,
"predicted_SLG": 0.425,
"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.2527,
"predicted_3B": 0.0093,
"predicted_AB": 4.0493,
"predicted_AVG": 0.2473,
"predicted_BB": 0.4401,
"predicted_H": 0.9998,
"predicted_HBP": 0.07,
"predicted_HR": 0.1327,
"predicted_OBP": 0.3489,
"predicted_R": 0.5611,
"predicted_RBI": 0.6353,
"predicted_SLG": 0.4282,
"predicted_SO": 0.7948
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.2527,
"delta": 0.0197,
"percent_delta": 0.0845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0493,
"delta": -0.2707,
"percent_delta": -0.0627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2473,
"delta": 0.0043,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 0.4401,
"delta": 0.0961,
"percent_delta": 0.2794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.9998,
"delta": -0.0502,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1327,
"delta": -0.0073,
"percent_delta": -0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3489,
"delta": 0.0069,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.589,
"after": 0.5611,
"delta": -0.0279,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6353,
"delta": -0.0047,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.4282,
"delta": 0.0032,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.7948,
"delta": -0.0382,
"percent_delta": -0.0459,
"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.344,
"after": 0.4401,
"delta": 0.0961,
"percent_delta": 0.2794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0493,
"delta": -0.2707,
"percent_delta": -0.0627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 90
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2527,
"predicted_3B": 0.0093,
"predicted_AB": 4.0493,
"predicted_AVG": 0.2624,
"predicted_BB": 0.4508,
"predicted_H": 1.0627,
"predicted_HBP": 0.07,
"predicted_HR": 0.142,
"predicted_OBP": 0.3363,
"predicted_R": 0.622,
"predicted_RBI": 0.7042,
"predicted_SLG": 0.4347,
"predicted_SO": 0.7756
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2527,
"after": 0.2527,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0493,
"after": 4.0493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2473,
"after": 0.2624,
"delta": 0.0151,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4401,
"after": 0.4508,
"delta": 0.0107,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9998,
"after": 1.0627,
"delta": 0.0629,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1327,
"after": 0.142,
"delta": 0.0093,
"percent_delta": 0.0701,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3489,
"after": 0.3363,
"delta": -0.0126,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5611,
"after": 0.622,
"delta": 0.0609,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6353,
"after": 0.7042,
"delta": 0.0689,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4282,
"after": 0.4347,
"delta": 0.0065,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7948,
"after": 0.7756,
"delta": -0.0192,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6353,
"after": 0.7042,
"delta": 0.0689,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3489,
"after": 0.3363,
"delta": -0.0126,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.32), rates preserved: AVG=0.246 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.2527,
"after": 0.0,
"delta": -0.2527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0493,
"after": 4.0,
"delta": -0.0493,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4508,
"after": 0.0,
"delta": -0.4508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0627,
"after": 1.0,
"delta": -0.0627,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.142,
"after": 0.0,
"delta": -0.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7042,
"after": 1.0,
"delta": 0.2958,
"percent_delta": 0.4201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7756,
"after": 1.0,
"delta": 0.2244,
"percent_delta": 0.2893,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7042,
"after": 1.0,
"delta": 0.2958,
"percent_delta": 0.4201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4508,
"after": 0.0,
"delta": -0.4508,
"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.600)",
"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.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"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.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"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.2624,
"after": 0.25,
"delta": -0.0124,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3363,
"after": 0.25,
"delta": -0.0863,
"percent_delta": -0.2566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4347,
"after": 0.25,
"delta": -0.1847,
"percent_delta": -0.4249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4347,
"after": 0.25,
"delta": -0.1847,
"percent_delta": -0.4249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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.2624,
"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.3363,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4347,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2624,
"delta": 0.0124,
"percent_delta": 0.0497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3363,
"delta": 0.0863,
"percent_delta": 0.3453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4347,
"delta": 0.1847,
"percent_delta": 0.7386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4347,
"delta": 0.1847,
"percent_delta": 0.7386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0,
"delta": -0.32,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2624,
"delta": 0.0194,
"percent_delta": 0.0798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 0.0,
"delta": -0.344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3363,
"delta": -0.0057,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.589,
"after": 1.0,
"delta": 0.411,
"percent_delta": 0.6978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 3.0,
"delta": 2.36,
"percent_delta": 3.6875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.4347,
"delta": 0.0097,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.64,
"after": 3.0,
"delta": 2.36,
"percent_delta": 3.6875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.344,
"after": 0.0,
"delta": -0.344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.011 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.344 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.589 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.425 | - |
| 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.253 | 0.020 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 4.049 | -0.271 |
| predicted_AVG | 0.247 | 0.004 |
| predicted_BB | 0.440 | 0.096 |
| predicted_H | 1.000 | -0.050 |
| predicted_HBP | 0.070 | - |
| predicted_HR | 0.133 | -0.007 |
| predicted_OBP | 0.349 | 0.007 |
| predicted_R | 0.561 | -0.028 |
| predicted_RBI | 0.635 | -0.005 |
| predicted_SLG | 0.428 | 0.003 |
| predicted_SO | 0.795 | -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.253 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.049 | 0.000 |
| predicted_AVG | 0.262 | 0.015 |
| predicted_BB | 0.451 | 0.011 |
| predicted_H | 1.063 | 0.063 |
| predicted_HBP | 0.070 | 0.000 |
| predicted_HR | 0.142 | 0.009 |
| predicted_OBP | 0.336 | -0.013 |
| predicted_R | 0.622 | 0.061 |
| predicted_RBI | 0.704 | 0.069 |
| predicted_SLG | 0.435 | 0.006 |
| predicted_SO | 0.776 | -0.019 |
AB rounded to 4 (raw=4.32), rates preserved: AVG=0.246 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 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.600)
| 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.253 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | -0.049 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.000 | -0.451 |
| predicted_H | 1.000 | -0.063 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.250 | -0.086 |
| predicted_R | 1.000 | 0.378 |
| predicted_RBI | 1.000 | 0.296 |
| predicted_SLG | 0.250 | -0.185 |
| predicted_SO | 1.000 | 0.224 |
Attached simulation box 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 | - | 16.000 | 3.000 | 2.000 | 0.000 | 0.000 | 3.000 | 1.000 | 5.000 | 3.000 | 0.1875 | 0.3810 | 0.3125 | 0.1875 | 0.0000 | 0.1875 | 0.3125 | 0.1875 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 3.000 | 0.000 | 1.000 | 5.000 | 7.000 | 8.000 | 6.000 | 0.2778 | 0.4348 | 0.4444 | 0.2778 | 0.0278 | 0.1389 | 0.2222 | 0.1667 |
| season | 0.60 | 90 | - | 348.000 | 93.000 | 21.000 | 1.000 | 16.000 | 63.000 | 53.000 | 31.000 | 75.000 | 0.2672 | 0.3316 | 0.4713 | 0.2672 | 0.0460 | 0.1810 | 0.0891 | 0.2155 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2790 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.6890 |
| predicted_AVG | 0.2530 |
| predicted_BB | 0.5680 |
| predicted_H | 0.9330 |
| predicted_HBP | 0.0700 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3581 |
| predicted_R | 0.5240 |
| predicted_RBI | 0.6290 |
| predicted_SLG | 0.4324 |
| predicted_SO | 0.7440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.2790 | 0.2527 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 4.3200 | 3.6890 | 4.0493 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2530 | 0.2473 | model_form_blend |
| predicted_BB | 0.3440 | 0.5680 | 0.4401 | model_form_blend |
| predicted_H | 1.0500 | 0.9330 | 0.9998 | model_form_blend |
| predicted_HBP | - | 0.0700 | 0.0700 | form_only |
| predicted_HR | 0.1400 | 0.1230 | 0.1327 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3581 | 0.3489 | model_form_blend |
| predicted_R | 0.5890 | 0.5240 | 0.5611 | model_form_blend |
| predicted_RBI | 0.6400 | 0.6290 | 0.6353 | model_form_blend |
| predicted_SLG | 0.4250 | 0.4324 | 0.4282 | model_form_blend |
| predicted_SO | 0.8330 | 0.7440 | 0.7948 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 260 |
| Season rows before report date | 260 |
| Report year | 2026 |
| Profile rows used | 90 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_SD@LAD |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.346 |
| sl_xwoba | 0.342 |
| sl_xba | 0.27 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 23.0 |
| 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.250 | 1.000 | 0.000 | Hitting_2B | 0.260 | 0.000 | 0.740 | 1.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 4.100 | 4.000 | 4.000 | Hitting_AB | 3.767 | 4.000 | 0.233 | 0.000 |
| predicted_AVG | 0.265 | 0.250 | 0.250 | Hitting_AVG | 0.278 | 0.000 | -0.028 | 0.250 |
| predicted_BB | 0.534 | 0.000 | 0.000 | Hitting_BB | 0.584 | 0.000 | -0.584 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.090 | 1.000 | 1.000 | Hitting_H | 1.046 | 0.000 | -0.046 | 1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.369 | 0.250 | 0.250 | Hitting_OBP | 0.376 | 0.000 | -0.126 | 0.250 |
| predicted_R | 0.580 | 1.000 | 1.000 | Hitting_R | 0.561 | 0.000 | 0.439 | 1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_SLG | 0.496 | 0.500 | 0.250 | Hitting_SLG | 0.470 | 0.000 | 0.030 | 0.500 |
| predicted_SO | 0.705 | 0.000 | 1.000 | Hitting_SO | 0.733 | 0.000 | -0.733 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.2500 -> 1.0000 (boost 0.7500, better) |
| Biggest Deboost | predicted_SO: 0.7050 -> 0.0000 (deboost -0.7050, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4960 -> 0.5166 (boost 0.0206, better) | predicted_AB: 4.1000 -> 3.9225 (deboost -0.1775, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 6 | 0 | 6 | 0 | predicted_H: 1.1059 -> 1.1755 (boost 0.0696, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_BB: 0.5504 -> 1.0000 (boost 0.4496, better) | predicted_2B: 0.2307 -> 0.0000 (deboost -0.2307, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.287 HR/AB=0.054 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=41.0, weight=0.231, BvP AVG=0.244) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6253 -> 1.0000 (boost 0.3747, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5340 -> 0.2500 (deboost -0.2840, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5340 (boost 0.2840, 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.25,
"predicted_3B": 0.011,
"predicted_AB": 4.1,
"predicted_AVG": 0.265,
"predicted_BB": 0.534,
"predicted_H": 1.09,
"predicted_HR": 0.2,
"predicted_OBP": 0.369,
"predicted_R": 0.58,
"predicted_RBI": 0.59,
"predicted_SLG": 0.496,
"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.2307,
"predicted_3B": 0.0093,
"predicted_AB": 3.9225,
"predicted_AVG": 0.2825,
"predicted_BB": 0.5374,
"predicted_H": 1.1059,
"predicted_HBP": 0.021,
"predicted_HR": 0.2086,
"predicted_OBP": 0.3804,
"predicted_R": 0.5641,
"predicted_RBI": 0.581,
"predicted_SLG": 0.5166,
"predicted_SO": 0.6844
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2307,
"delta": -0.0193,
"percent_delta": -0.0772,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9225,
"delta": -0.1775,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2825,
"delta": 0.0175,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.534,
"after": 0.5374,
"delta": 0.0034,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.1059,
"delta": 0.0159,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2086,
"delta": 0.0086,
"percent_delta": 0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3804,
"delta": 0.0114,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.58,
"after": 0.5641,
"delta": -0.0159,
"percent_delta": -0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.581,
"delta": -0.009,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.5166,
"delta": 0.0206,
"percent_delta": 0.0415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.705,
"after": 0.6844,
"delta": -0.0206,
"percent_delta": -0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.5166,
"delta": 0.0206,
"percent_delta": 0.0415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9225,
"delta": -0.1775,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 88
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2307,
"predicted_3B": 0.0093,
"predicted_AB": 3.9225,
"predicted_AVG": 0.2997,
"predicted_BB": 0.5504,
"predicted_H": 1.1755,
"predicted_HBP": 0.021,
"predicted_HR": 0.2232,
"predicted_OBP": 0.3858,
"predicted_R": 0.6253,
"predicted_RBI": 0.644,
"predicted_SLG": 0.534,
"predicted_SO": 0.6678
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2307,
"after": 0.2307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9225,
"after": 3.9225,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2825,
"after": 0.2997,
"delta": 0.0172,
"percent_delta": 0.0609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5374,
"after": 0.5504,
"delta": 0.013,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1059,
"after": 1.1755,
"delta": 0.0696,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.2086,
"after": 0.2232,
"delta": 0.0146,
"percent_delta": 0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3804,
"after": 0.3858,
"delta": 0.0054,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5641,
"after": 0.6253,
"delta": 0.0612,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.581,
"after": 0.644,
"delta": 0.063,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5166,
"after": 0.534,
"delta": 0.0174,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6844,
"after": 0.6678,
"delta": -0.0166,
"percent_delta": -0.0243,
"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": 1.1059,
"after": 1.1755,
"delta": 0.0696,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.10), rates preserved: AVG=0.287 HR/AB=0.054",
"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.2307,
"after": 0.0,
"delta": -0.2307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9225,
"after": 4.0,
"delta": 0.0775,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5504,
"after": 1.0,
"delta": 0.4496,
"percent_delta": 0.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1755,
"after": 1.0,
"delta": -0.1755,
"percent_delta": -0.1493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2232,
"after": 0.0,
"delta": -0.2232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6678,
"after": 1.0,
"delta": 0.3322,
"percent_delta": 0.4975,
"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.5504,
"after": 1.0,
"delta": 0.4496,
"percent_delta": 0.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2307,
"after": 0.0,
"delta": -0.2307,
"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=41.0, weight=0.231, BvP AVG=0.244)",
"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.769,
"bvp": 0.231
},
"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.6253,
"after": 1.0,
"delta": 0.3747,
"percent_delta": 0.5992,
"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.6253,
"after": 1.0,
"delta": 0.3747,
"percent_delta": 0.5992,
"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.2997,
"after": 0.25,
"delta": -0.0497,
"percent_delta": -0.1658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3858,
"after": 0.25,
"delta": -0.1358,
"percent_delta": -0.352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.534,
"after": 0.25,
"delta": -0.284,
"percent_delta": -0.5318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.534,
"after": 0.25,
"delta": -0.284,
"percent_delta": -0.5318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2997,
"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.3858,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.534,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2997,
"delta": 0.0497,
"percent_delta": 0.1987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3858,
"delta": 0.1358,
"percent_delta": 0.5434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.534,
"delta": 0.284,
"percent_delta": 1.1359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.534,
"delta": 0.284,
"percent_delta": 1.1359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 4.0,
"delta": -0.1,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2997,
"delta": 0.0347,
"percent_delta": 0.1309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.534,
"after": 0.0,
"delta": -0.534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"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.369,
"after": 0.3858,
"delta": 0.0168,
"percent_delta": 0.0455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"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.496,
"after": 0.534,
"delta": 0.038,
"percent_delta": 0.0766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.705,
"after": 0.0,
"delta": -0.705,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.705,
"after": 0.0,
"delta": -0.705,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.534 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.369 | - |
| predicted_R | 0.580 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.496 | - |
| 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.231 | -0.019 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 3.922 | -0.177 |
| predicted_AVG | 0.282 | 0.017 |
| predicted_BB | 0.537 | 0.003 |
| predicted_H | 1.106 | 0.016 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.209 | 0.009 |
| predicted_OBP | 0.380 | 0.011 |
| predicted_R | 0.564 | -0.016 |
| predicted_RBI | 0.581 | -0.009 |
| predicted_SLG | 0.517 | 0.021 |
| predicted_SO | 0.684 | -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.231 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.922 | 0.000 |
| predicted_AVG | 0.300 | 0.017 |
| predicted_BB | 0.550 | 0.013 |
| predicted_H | 1.175 | 0.070 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.223 | 0.015 |
| predicted_OBP | 0.386 | 0.005 |
| predicted_R | 0.625 | 0.061 |
| predicted_RBI | 0.644 | 0.063 |
| predicted_SLG | 0.534 | 0.017 |
| predicted_SO | 0.668 | -0.017 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.287 HR/AB=0.054
| 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=41.0, weight=0.231, BvP AVG=0.244)
| 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.231 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.078 |
| predicted_AVG | 0.250 | -0.050 |
| predicted_BB | 0.000 | -0.550 |
| predicted_H | 1.000 | -0.175 |
| predicted_HR | 0.000 | -0.223 |
| predicted_OBP | 0.250 | -0.136 |
| predicted_R | 1.000 | 0.375 |
| predicted_RBI | 1.000 | 0.356 |
| predicted_SLG | 0.250 | -0.284 |
| predicted_SO | 1.000 | 0.332 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 3.000 | 3.000 | 0.2941 | 0.4000 | 0.6471 | 0.2941 | 0.1177 | 0.1765 | 0.1765 | 0.1765 |
| last_10 | 0.20 | 10 | - | 37.000 | 14.000 | 3.000 | 0.000 | 2.000 | 6.000 | 6.000 | 6.000 | 5.000 | 0.3784 | 0.4651 | 0.6216 | 0.3784 | 0.0541 | 0.1622 | 0.1622 | 0.1351 |
| season | 0.60 | 88 | - | 331.000 | 97.000 | 22.000 | 1.000 | 15.000 | 49.000 | 51.000 | 47.000 | 62.000 | 0.2931 | 0.3828 | 0.5015 | 0.2930 | 0.0453 | 0.1480 | 0.1420 | 0.1873 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2050 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.6860 |
| predicted_AVG | 0.3058 |
| predicted_BB | 0.5420 |
| predicted_H | 1.1270 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.2200 |
| predicted_OBP | 0.3957 |
| predicted_R | 0.5430 |
| predicted_RBI | 0.5690 |
| predicted_SLG | 0.5441 |
| predicted_SO | 0.6570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2050 | 0.2307 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 4.1000 | 3.6860 | 3.9225 | model_form_blend |
| predicted_AVG | 0.2650 | 0.3058 | 0.2825 | model_form_blend |
| predicted_BB | 0.5340 | 0.5420 | 0.5374 | model_form_blend |
| predicted_H | 1.0900 | 1.1270 | 1.1059 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.2000 | 0.2200 | 0.2086 | model_form_blend |
| predicted_OBP | 0.3690 | 0.3957 | 0.3804 | model_form_blend |
| predicted_R | 0.5800 | 0.5430 | 0.5641 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5690 | 0.5810 | model_form_blend |
| predicted_SLG | 0.4960 | 0.5441 | 0.5166 | model_form_blend |
| predicted_SO | 0.7050 | 0.6570 | 0.6844 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 88 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 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 | 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 | 20260705_SD@LAD |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.384 |
| sl_xwoba | 0.391 |
| sl_xba | 0.295 |
| sl_xslg | 0.516 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 46.7 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.140 | 0.000 | 0.000 | Hitting_2B | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.570 | 4.000 | 4.000 | Hitting_AB | 3.681 | 3.000 | 0.319 | 1.000 |
| predicted_AVG | 0.234 | 0.250 | 0.250 | Hitting_AVG | 0.277 | 0.000 | -0.027 | 0.250 |
| predicted_BB | 0.386 | 0.000 | 0.000 | Hitting_BB | 0.396 | 1.000 | -0.396 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 1.019 | 0.000 | -0.019 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.298 | 0.250 | 0.250 | Hitting_OBP | 0.351 | 0.250 | -0.101 | 0.000 |
| predicted_R | 0.596 | 0.000 | 1.000 | Hitting_R | 0.618 | 1.000 | -0.618 | -1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.686 | 0.000 | -0.686 | 0.000 |
| predicted_SLG | 0.380 | 0.250 | 0.250 | Hitting_SLG | 0.437 | 0.000 | -0.187 | 0.250 |
| predicted_SO | 1.123 | 1.000 | 1.000 | Hitting_SO | 1.126 | 1.000 | -0.126 | 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: 3.5700 -> 4.0000 (boost 0.4300, better) |
| Biggest Deboost | predicted_R: 0.5960 -> 0.0000 (deboost -0.5960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2340 -> 0.2239 (deboost -0.0101, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 0.6191 -> 0.6863 (boost 0.0672, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_AB: 3.5467 -> 4.0000 (boost 0.4533, better) | predicted_BB: 0.4081 -> 0.0000 (deboost -0.4081, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.236 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6575 -> 1.0000 (boost 0.3425, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2371 -> 0.2500 (boost 0.0129, better) | predicted_SLG: 0.3994 -> 0.2500 (deboost -0.1494, 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_R: 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.3994 (boost 0.1494, better) | predicted_AVG: 0.2500 -> 0.2371 (deboost -0.0129, worse) | 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.14,
"predicted_3B": 0.0,
"predicted_AB": 3.57,
"predicted_AVG": 0.234,
"predicted_BB": 0.386,
"predicted_H": 0.83,
"predicted_HR": 0.14,
"predicted_OBP": 0.298,
"predicted_R": 0.596,
"predicted_RBI": 0.59,
"predicted_SLG": 0.38,
"predicted_SO": 1.123
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1204,
"predicted_3B": 0.0008,
"predicted_AB": 3.5467,
"predicted_AVG": 0.2239,
"predicted_BB": 0.3985,
"predicted_H": 0.7913,
"predicted_HBP": 0.022,
"predicted_HR": 0.1412,
"predicted_OBP": 0.296,
"predicted_R": 0.5931,
"predicted_RBI": 0.6191,
"predicted_SLG": 0.3714,
"predicted_SO": 1.1234
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.1204,
"delta": -0.0196,
"percent_delta": -0.14,
"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.57,
"after": 3.5467,
"delta": -0.0233,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2239,
"delta": -0.0101,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.3985,
"delta": 0.0125,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.7913,
"delta": -0.0387,
"percent_delta": -0.0466,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1412,
"delta": 0.0012,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.296,
"delta": -0.002,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.596,
"after": 0.5931,
"delta": -0.0029,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6191,
"delta": 0.0291,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3714,
"delta": -0.0086,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.123,
"after": 1.1234,
"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_AVG",
"before": 0.234,
"after": 0.2239,
"delta": -0.0101,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1204,
"predicted_3B": 0.0008,
"predicted_AB": 3.5467,
"predicted_AVG": 0.2371,
"predicted_BB": 0.4081,
"predicted_H": 0.8411,
"predicted_HBP": 0.022,
"predicted_HR": 0.1511,
"predicted_OBP": 0.3159,
"predicted_R": 0.6575,
"predicted_RBI": 0.6863,
"predicted_SLG": 0.3994,
"predicted_SO": 1.0962
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5467,
"after": 3.5467,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2239,
"after": 0.2371,
"delta": 0.0132,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3985,
"after": 0.4081,
"delta": 0.0096,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7913,
"after": 0.8411,
"delta": 0.0498,
"percent_delta": 0.0629,
"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.1412,
"after": 0.1511,
"delta": 0.0099,
"percent_delta": 0.0701,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3159,
"delta": 0.0199,
"percent_delta": 0.0672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5931,
"after": 0.6575,
"delta": 0.0644,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6191,
"after": 0.6863,
"delta": 0.0672,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3714,
"after": 0.3994,
"delta": 0.028,
"percent_delta": 0.0754,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1234,
"after": 1.0962,
"delta": -0.0272,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6191,
"after": 0.6863,
"delta": 0.0672,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.57), rates preserved: AVG=0.236 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1204,
"after": 0.0,
"delta": -0.1204,
"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.5467,
"after": 4.0,
"delta": 0.4533,
"percent_delta": 0.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4081,
"after": 0.0,
"delta": -0.4081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8411,
"after": 1.0,
"delta": 0.1589,
"percent_delta": 0.1889,
"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.1511,
"after": 0.0,
"delta": -0.1511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6863,
"after": 1.0,
"delta": 0.3137,
"percent_delta": 0.4571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0962,
"after": 1.0,
"delta": -0.0962,
"percent_delta": -0.0878,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5467,
"after": 4.0,
"delta": 0.4533,
"percent_delta": 0.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4081,
"after": 0.0,
"delta": -0.4081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.6575,
"after": 1.0,
"delta": 0.3425,
"percent_delta": 0.5209,
"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.6575,
"after": 1.0,
"delta": 0.3425,
"percent_delta": 0.5209,
"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.2371,
"after": 0.25,
"delta": 0.0129,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3159,
"after": 0.25,
"delta": -0.0659,
"percent_delta": -0.2086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.25,
"delta": -0.1494,
"percent_delta": -0.3741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2371,
"after": 0.25,
"delta": 0.0129,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.25,
"delta": -0.1494,
"percent_delta": -0.3741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2371,
"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.3159,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3994,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2371,
"delta": -0.0129,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3159,
"delta": 0.0659,
"percent_delta": 0.2635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3994,
"delta": 0.1494,
"percent_delta": 0.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3994,
"delta": 0.1494,
"percent_delta": 0.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2371,
"delta": -0.0129,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "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.57,
"after": 4.0,
"delta": 0.43,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2371,
"delta": 0.0031,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"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.298,
"after": 0.3159,
"delta": 0.0179,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.596,
"after": 0.0,
"delta": -0.596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3994,
"delta": 0.0194,
"percent_delta": 0.0511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.123,
"after": 1.0,
"delta": -0.123,
"percent_delta": -0.1095,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.57,
"after": 4.0,
"delta": 0.43,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.596,
"after": 0.0,
"delta": -0.596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}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.570 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.386 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.596 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.380 | - |
| predicted_SO | 1.123 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | -0.020 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.547 | -0.023 |
| predicted_AVG | 0.224 | -0.010 |
| predicted_BB | 0.399 | 0.013 |
| predicted_H | 0.791 | -0.039 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.141 | 0.001 |
| predicted_OBP | 0.296 | -0.002 |
| predicted_R | 0.593 | -0.003 |
| predicted_RBI | 0.619 | 0.029 |
| predicted_SLG | 0.371 | -0.009 |
| predicted_SO | 1.123 | 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.120 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.547 | 0.000 |
| predicted_AVG | 0.237 | 0.013 |
| predicted_BB | 0.408 | 0.010 |
| predicted_H | 0.841 | 0.050 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.151 | 0.010 |
| predicted_OBP | 0.316 | 0.020 |
| predicted_R | 0.657 | 0.064 |
| predicted_RBI | 0.686 | 0.067 |
| predicted_SLG | 0.399 | 0.028 |
| predicted_SO | 1.096 | -0.027 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.236 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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.120 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.453 |
| predicted_AVG | 0.250 | 0.013 |
| predicted_BB | 0.000 | -0.408 |
| predicted_H | 1.000 | 0.159 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.250 | -0.066 |
| predicted_R | 1.000 | 0.343 |
| predicted_RBI | 1.000 | 0.314 |
| predicted_SLG | 0.250 | -0.149 |
| 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 | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 1.000 | 0.000 | 0.000 | 1.000 | 5.000 | 3.000 | 3.000 | 6.000 | 0.0588 | 0.1905 | 0.2353 | 0.0588 | 0.0588 | 0.2941 | 0.1765 | 0.3529 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 0.000 | 0.000 | 1.000 | 5.000 | 6.000 | 4.000 | 12.000 | 0.1818 | 0.2632 | 0.2727 | 0.1818 | 0.0303 | 0.1515 | 0.1212 | 0.3636 |
| season | 0.60 | 57 | - | 203.000 | 53.000 | 8.000 | 0.000 | 8.000 | 36.000 | 34.000 | 22.000 | 64.000 | 0.2611 | 0.3348 | 0.4187 | 0.2611 | 0.0394 | 0.1773 | 0.1084 | 0.3153 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5140 |
| predicted_AVG | 0.2098 |
| predicted_BB | 0.4160 |
| predicted_H | 0.7370 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1430 |
| predicted_OBP | 0.2933 |
| predicted_R | 0.5890 |
| predicted_RBI | 0.6600 |
| predicted_SLG | 0.3594 |
| predicted_SO | 1.1240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0930 | 0.1204 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5700 | 3.5140 | 3.5467 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2098 | 0.2239 | model_form_blend |
| predicted_BB | 0.3860 | 0.4160 | 0.3985 | model_form_blend |
| predicted_H | 0.8300 | 0.7370 | 0.7913 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1400 | 0.1430 | 0.1412 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2933 | 0.2960 | model_form_blend |
| predicted_R | 0.5960 | 0.5890 | 0.5931 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6600 | 0.6191 | model_form_blend |
| predicted_SLG | 0.3800 | 0.3594 | 0.3714 | model_form_blend |
| predicted_SO | 1.1230 | 1.1240 | 1.1234 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 207 |
| Season rows before report date | 207 |
| Report year | 2026 |
| Profile rows used | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260705_SD@LAD |
| game_type | full |
| mlbID | 606192 |
| playerID | 606192 |
| playerName | Teoscar Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.33 |
| sl_xwoba | 0.331 |
| sl_xba | 0.249 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 31.2 |
| 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.205 | 0.000 | 0.000 | Hitting_2B | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 3.760 | 3.000 | 4.000 | Hitting_AB | 3.803 | 2.000 | -0.803 | 1.000 |
| predicted_AVG | 0.253 | 0.000 | 0.250 | Hitting_AVG | 0.254 | 0.500 | -0.254 | -0.500 |
| predicted_BB | 0.518 | 1.000 | 1.000 | Hitting_BB | 0.560 | 0.000 | 0.440 | 1.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 | 0.965 | 1.000 | -0.965 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_OBP | 0.344 | 0.250 | 0.400 | Hitting_OBP | 0.349 | 0.500 | -0.099 | -0.250 |
| predicted_R | 0.627 | 0.000 | 1.000 | Hitting_R | 0.722 | 1.000 | -0.722 | -1.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.533 | 0.000 | -0.533 | 0.000 |
| predicted_SLG | 0.391 | 0.000 | 0.250 | Hitting_SLG | 0.413 | 0.500 | -0.413 | -0.500 |
| predicted_SO | 0.880 | 2.000 | 1.000 | Hitting_SO | 0.834 | 1.000 | 1.166 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.8800 -> 2.0000 (boost 1.1200, 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 | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.6270 -> 0.6881 (boost 0.0611, better) | predicted_AB: 3.7600 -> 3.6844 (deboost -0.0756, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 6 | 0 | 6 | 0 | predicted_R: 0.6881 -> 0.7628 (boost 0.0747, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.5168 -> 1.0000 (boost 0.4832, better) | predicted_2B: 0.1956 -> 0.0000 (deboost -0.1956, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.270 HR/AB=0.024 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7628 -> 1.0000 (boost 0.2372, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3656 -> 0.4000 (boost 0.0344, better) | predicted_SLG: 0.4122 -> 0.2500 (deboost -0.1622, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 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.4122 (boost 0.1622, better) | predicted_OBP: 0.4000 -> 0.3656 (deboost -0.0344, 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.205,
"predicted_3B": 0.024,
"predicted_AB": 3.76,
"predicted_AVG": 0.253,
"predicted_BB": 0.518,
"predicted_H": 0.95,
"predicted_HR": 0.09,
"predicted_OBP": 0.344,
"predicted_R": 0.627,
"predicted_RBI": 0.47,
"predicted_SLG": 0.391,
"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.1956,
"predicted_3B": 0.0197,
"predicted_AB": 3.6844,
"predicted_AVG": 0.26,
"predicted_BB": 0.5086,
"predicted_H": 0.9564,
"predicted_HBP": 0.015,
"predicted_HR": 0.0832,
"predicted_OBP": 0.3503,
"predicted_R": 0.6881,
"predicted_RBI": 0.4662,
"predicted_SLG": 0.3906,
"predicted_SO": 0.8313
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.1956,
"delta": -0.0094,
"percent_delta": -0.0459,
"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": 3.76,
"after": 3.6844,
"delta": -0.0756,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.26,
"delta": 0.007,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.518,
"after": 0.5086,
"delta": -0.0094,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9564,
"delta": 0.0064,
"percent_delta": 0.0067,
"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.344,
"after": 0.3503,
"delta": 0.0063,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.627,
"after": 0.6881,
"delta": 0.0611,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4662,
"delta": -0.0038,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3906,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8313,
"delta": -0.0487,
"percent_delta": -0.0553,
"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.627,
"after": 0.6881,
"delta": 0.0611,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.76,
"after": 3.6844,
"delta": -0.0756,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1956,
"predicted_3B": 0.0197,
"predicted_AB": 3.6844,
"predicted_AVG": 0.2759,
"predicted_BB": 0.5209,
"predicted_H": 1.0166,
"predicted_HBP": 0.015,
"predicted_HR": 0.089,
"predicted_OBP": 0.3656,
"predicted_R": 0.7628,
"predicted_RBI": 0.5168,
"predicted_SLG": 0.4122,
"predicted_SO": 0.8112
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1956,
"after": 0.1956,
"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": 3.6844,
"after": 3.6844,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2759,
"delta": 0.0159,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5086,
"after": 0.5209,
"delta": 0.0123,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9564,
"after": 1.0166,
"delta": 0.0602,
"percent_delta": 0.0629,
"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.0832,
"after": 0.089,
"delta": 0.0058,
"percent_delta": 0.0697,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3503,
"after": 0.3656,
"delta": 0.0153,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6881,
"after": 0.7628,
"delta": 0.0747,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4662,
"after": 0.5168,
"delta": 0.0506,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3906,
"after": 0.4122,
"delta": 0.0216,
"percent_delta": 0.0553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8313,
"after": 0.8112,
"delta": -0.0201,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6881,
"after": 0.7628,
"delta": 0.0747,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.76), rates preserved: AVG=0.270 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1956,
"after": 0.0,
"delta": -0.1956,
"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": 3.6844,
"after": 4.0,
"delta": 0.3156,
"percent_delta": 0.0857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0166,
"after": 1.0,
"delta": -0.0166,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5168,
"after": 1.0,
"delta": 0.4832,
"percent_delta": 0.935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8112,
"after": 1.0,
"delta": 0.1888,
"percent_delta": 0.2327,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5168,
"after": 1.0,
"delta": 0.4832,
"percent_delta": 0.935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1956,
"after": 0.0,
"delta": -0.1956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.7628,
"after": 1.0,
"delta": 0.2372,
"percent_delta": 0.311,
"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.7628,
"after": 1.0,
"delta": 0.2372,
"percent_delta": 0.311,
"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.2759,
"after": 0.25,
"delta": -0.0259,
"percent_delta": -0.0939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3656,
"after": 0.4,
"delta": 0.0344,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4122,
"after": 0.25,
"delta": -0.1622,
"percent_delta": -0.3935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3656,
"after": 0.4,
"delta": 0.0344,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4122,
"after": 0.25,
"delta": -0.1622,
"percent_delta": -0.3935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.3656,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4122,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1036,
"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.3656,
"delta": -0.0344,
"percent_delta": -0.086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4122,
"delta": 0.1622,
"percent_delta": 0.6488,
"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.4122,
"delta": 0.1622,
"percent_delta": 0.6488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3656,
"delta": -0.0344,
"percent_delta": -0.086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 3.0,
"delta": -0.76,
"percent_delta": -0.2021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2759,
"delta": 0.0229,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.518,
"after": 1.0,
"delta": 0.482,
"percent_delta": 0.9305,
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3656,
"delta": 0.0216,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"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.391,
"after": 0.4122,
"delta": 0.0212,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 2.0,
"delta": 1.12,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.88,
"after": 2.0,
"delta": 1.12,
"percent_delta": 1.2727,
"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.205 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.760 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.518 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.627 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.391 | - |
| 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.196 | -0.009 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.684 | -0.076 |
| predicted_AVG | 0.260 | 0.007 |
| predicted_BB | 0.509 | -0.009 |
| predicted_H | 0.956 | 0.006 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.083 | -0.007 |
| predicted_OBP | 0.350 | 0.006 |
| predicted_R | 0.688 | 0.061 |
| predicted_RBI | 0.466 | -0.004 |
| predicted_SLG | 0.391 | -0.000 |
| predicted_SO | 0.831 | -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.196 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.684 | 0.000 |
| predicted_AVG | 0.276 | 0.016 |
| predicted_BB | 0.521 | 0.012 |
| predicted_H | 1.017 | 0.060 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.089 | 0.006 |
| predicted_OBP | 0.366 | 0.015 |
| predicted_R | 0.763 | 0.075 |
| predicted_RBI | 0.517 | 0.051 |
| predicted_SLG | 0.412 | 0.022 |
| predicted_SO | 0.811 | -0.020 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.270 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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.196 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.316 |
| predicted_AVG | 0.250 | -0.026 |
| predicted_BB | 1.000 | 0.479 |
| predicted_H | 1.000 | -0.017 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.400 | 0.034 |
| predicted_R | 1.000 | 0.237 |
| predicted_RBI | 1.000 | 0.483 |
| predicted_SLG | 0.250 | -0.162 |
| predicted_SO | 1.000 | 0.189 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 3.000 | 2.000 | 0.3125 | 0.4211 | 0.3750 | 0.3125 | 0.0000 | 0.0625 | 0.1875 | 0.1250 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 1.000 | 0.000 | 1.000 | 5.000 | 8.000 | 4.000 | 8.000 | 0.3056 | 0.3750 | 0.4167 | 0.3056 | 0.0278 | 0.1389 | 0.1111 | 0.2222 |
| season | 0.60 | 83 | - | 305.000 | 75.000 | 17.000 | 2.000 | 7.000 | 45.000 | 52.000 | 43.000 | 73.000 | 0.2459 | 0.3399 | 0.3836 | 0.2459 | 0.0230 | 0.1475 | 0.1410 | 0.2393 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1830 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.5830 |
| predicted_AVG | 0.2693 |
| predicted_BB | 0.4960 |
| predicted_H | 0.9650 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.3587 |
| predicted_R | 0.7700 |
| predicted_RBI | 0.4610 |
| predicted_SLG | 0.3901 |
| predicted_SO | 0.7660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.1830 | 0.1956 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 3.7600 | 3.5830 | 3.6844 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2693 | 0.2600 | model_form_blend |
| predicted_BB | 0.5180 | 0.4960 | 0.5086 | model_form_blend |
| predicted_H | 0.9500 | 0.9650 | 0.9564 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.0900 | 0.0740 | 0.0832 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3587 | 0.3503 | model_form_blend |
| predicted_R | 0.6270 | 0.7700 | 0.6881 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4610 | 0.4662 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3901 | 0.3906 | model_form_blend |
| predicted_SO | 0.8800 | 0.7660 | 0.8313 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 259 |
| Season rows before report date | 259 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 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 | 20260705_SD@LAD |
| game_type | ph |
| mlbID | 663656 |
| note | Singled for Rojas, M in the 7th. |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.329 |
| sl_xwoba | 0.334 |
| sl_xba | 0.256 |
| sl_xslg | 0.382 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 39.1 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 23.4 |
| 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.155 | 1.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | 0.844 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.746 | 2.000 | 1.254 | 2.000 |
| predicted_AVG | 0.337 | 0.500 | 0.333 | Hitting_AVG | 0.281 | 0.500 | 0.219 | 0.000 |
| predicted_BB | 0.136 | 0.000 | 0.000 | Hitting_BB | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.650 | 2.000 | 1.000 | Hitting_H | 0.770 | 1.000 | 1.230 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_OBP | 0.361 | 0.500 | 0.333 | Hitting_OBP | 0.318 | 0.500 | 0.182 | 0.000 |
| predicted_R | 0.271 | 1.000 | 0.000 | Hitting_R | 0.303 | 0.000 | 0.697 | 1.000 |
| predicted_RBI | 0.310 | 2.000 | 0.000 | Hitting_RBI | 0.336 | 0.000 | 1.664 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.506 | 0.750 | 0.333 | Hitting_SLG | 0.391 | 0.500 | 0.359 | 0.250 |
| predicted_SO | 0.271 | 0.000 | 0.000 | Hitting_SO | 0.328 | 0.000 | -0.328 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.3100 -> 2.0000 (boost 1.6900, better) |
| Biggest Deboost | predicted_SO: 0.2710 -> 0.0000 (deboost -0.2710, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.6500 -> 0.7608 (boost 0.1108, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3464 -> 0.3197 (deboost -0.0267, 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: 2.5295 -> 3.0000 (boost 0.4705, better) | predicted_RBI: 0.3578 -> 0.0000 (deboost -0.3578, worse) | AB rounded to 3 (raw=2.53), rates preserved: AVG=0.320 HR/AB=0.038 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.391) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3529 -> 0.0000 (deboost -0.3529, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3197 -> 0.3330 (boost 0.0133, better) | predicted_SLG: 0.5072 -> 0.3330 (deboost -0.1742, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.5072 (boost 0.1742, better) | predicted_AVG: 0.3330 -> 0.3197 (deboost -0.0133, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "500743",
"player_name": "Miguel Rojas",
"position": "2B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.337,
"predicted_BB": 0.136,
"predicted_H": 0.65,
"predicted_HR": 0.08,
"predicted_OBP": 0.361,
"predicted_R": 0.271,
"predicted_RBI": 0.31,
"predicted_SLG": 0.506,
"predicted_SO": 0.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.1877,
"predicted_3B": 0.0008,
"predicted_AB": 2.5295,
"predicted_AVG": 0.3464,
"predicted_BB": 0.1444,
"predicted_H": 0.7608,
"predicted_HBP": 0.014,
"predicted_HR": 0.0888,
"predicted_OBP": 0.3711,
"predicted_R": 0.3184,
"predicted_RBI": 0.3228,
"predicted_SLG": 0.5325,
"predicted_SO": 0.2582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1877,
"delta": 0.0327,
"percent_delta": 0.211,
"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.5295,
"delta": 0.0295,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.337,
"after": 0.3464,
"delta": 0.0094,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 0.1444,
"delta": 0.0084,
"percent_delta": 0.0618,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.7608,
"delta": 0.1108,
"percent_delta": 0.1705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0888,
"delta": 0.0088,
"percent_delta": 0.11,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3711,
"delta": 0.0101,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.271,
"after": 0.3184,
"delta": 0.0474,
"percent_delta": 0.1749,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3228,
"delta": 0.0128,
"percent_delta": 0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.5325,
"delta": 0.0265,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.271,
"after": 0.2582,
"delta": -0.0128,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.65,
"after": 0.7608,
"delta": 0.1108,
"percent_delta": 0.1705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 54
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1877,
"predicted_3B": 0.0008,
"predicted_AB": 2.5295,
"predicted_AVG": 0.3197,
"predicted_BB": 0.1479,
"predicted_H": 0.8087,
"predicted_HBP": 0.014,
"predicted_HR": 0.095,
"predicted_OBP": 0.3573,
"predicted_R": 0.3529,
"predicted_RBI": 0.3578,
"predicted_SLG": 0.5072,
"predicted_SO": 0.252
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1877,
"after": 0.1877,
"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.5295,
"after": 2.5295,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3464,
"after": 0.3197,
"delta": -0.0267,
"percent_delta": -0.0771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1444,
"after": 0.1479,
"delta": 0.0035,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7608,
"after": 0.8087,
"delta": 0.0479,
"percent_delta": 0.063,
"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.0888,
"after": 0.095,
"delta": 0.0062,
"percent_delta": 0.0698,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3711,
"after": 0.3573,
"delta": -0.0138,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3184,
"after": 0.3529,
"delta": 0.0345,
"percent_delta": 0.1084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3228,
"after": 0.3578,
"delta": 0.035,
"percent_delta": 0.1084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5325,
"after": 0.5072,
"delta": -0.0253,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2582,
"after": 0.252,
"delta": -0.0062,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3464,
"after": 0.3197,
"delta": -0.0267,
"percent_delta": -0.0771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.53), rates preserved: AVG=0.320 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1877,
"after": 0.0,
"delta": -0.1877,
"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.5295,
"after": 3.0,
"delta": 0.4705,
"percent_delta": 0.186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1479,
"after": 0.0,
"delta": -0.1479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8087,
"after": 1.0,
"delta": 0.1913,
"percent_delta": 0.2366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3578,
"after": 0.0,
"delta": -0.3578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.252,
"after": 0.0,
"delta": -0.252,
"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_AB",
"before": 2.5295,
"after": 3.0,
"delta": 0.4705,
"percent_delta": 0.186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3578,
"after": 0.0,
"delta": -0.3578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.391)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8264,
"bvp": 0.1736
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3529,
"after": 0.0,
"delta": -0.3529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3529,
"after": 0.0,
"delta": -0.3529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3197,
"after": 0.333,
"delta": 0.0133,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3573,
"after": 0.333,
"delta": -0.0243,
"percent_delta": -0.068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5072,
"after": 0.333,
"delta": -0.1742,
"percent_delta": -0.3435,
"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.3197,
"after": 0.333,
"delta": 0.0133,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5072,
"after": 0.333,
"delta": -0.1742,
"percent_delta": -0.3435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3197,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3573,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5072,
"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.3197,
"delta": -0.0133,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3573,
"delta": 0.0243,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.5072,
"delta": 0.1742,
"percent_delta": 0.5232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.5072,
"delta": 0.1742,
"percent_delta": 0.5232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3197,
"delta": -0.0133,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 1.0,
"delta": 0.845,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.337,
"after": 0.3197,
"delta": -0.0173,
"percent_delta": -0.0513,
"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.65,
"after": 2.0,
"delta": 1.35,
"percent_delta": 2.0769,
"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.361,
"after": 0.3573,
"delta": -0.0037,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.271,
"after": 1.0,
"delta": 0.729,
"percent_delta": 2.69,
"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.506,
"after": 0.5072,
"delta": 0.0012,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.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.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.337 | - |
| predicted_BB | 0.136 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.361 | - |
| predicted_R | 0.271 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.506 | - |
| predicted_SO | 0.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.188 | 0.033 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.530 | 0.030 |
| predicted_AVG | 0.346 | 0.009 |
| predicted_BB | 0.144 | 0.008 |
| predicted_H | 0.761 | 0.111 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.089 | 0.009 |
| predicted_OBP | 0.371 | 0.010 |
| predicted_R | 0.318 | 0.047 |
| predicted_RBI | 0.323 | 0.013 |
| predicted_SLG | 0.532 | 0.026 |
| predicted_SO | 0.258 | -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.188 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.530 | 0.000 |
| predicted_AVG | 0.320 | -0.027 |
| predicted_BB | 0.148 | 0.004 |
| predicted_H | 0.809 | 0.048 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.095 | 0.006 |
| predicted_OBP | 0.357 | -0.014 |
| predicted_R | 0.353 | 0.034 |
| predicted_RBI | 0.358 | 0.035 |
| predicted_SLG | 0.507 | -0.025 |
| predicted_SO | 0.252 | -0.006 |
AB rounded to 3 (raw=2.53), rates preserved: AVG=0.320 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.391)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 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.188 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.470 |
| predicted_AVG | 0.333 | 0.013 |
| predicted_BB | 0.000 | -0.148 |
| predicted_H | 1.000 | 0.191 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.333 | -0.024 |
| predicted_R | 0.000 | -0.353 |
| predicted_RBI | 0.000 | -0.358 |
| predicted_SLG | 0.333 | -0.174 |
| predicted_SO | 0.000 | -0.252 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 7.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 0.000 | 0.5385 | 0.5385 | 0.9231 | 0.5385 | 0.0769 | 0.1538 | 0.0769 | 0.0000 |
| last_10 | 0.20 | 10 | - | 18.000 | 9.000 | 3.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 0.000 | 0.5000 | 0.5000 | 0.8333 | 0.5000 | 0.0556 | 0.1667 | 0.0556 | 0.0000 |
| season | 0.60 | 54 | - | 129.000 | 38.000 | 8.000 | 0.000 | 3.000 | 15.000 | 14.000 | 7.000 | 14.000 | 0.2946 | 0.3262 | 0.4264 | 0.2946 | 0.0233 | 0.1163 | 0.0543 | 0.1085 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2370 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.5740 |
| predicted_AVG | 0.3605 |
| predicted_BB | 0.1570 |
| predicted_H | 0.9280 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1020 |
| predicted_OBP | 0.3864 |
| predicted_R | 0.3900 |
| predicted_RBI | 0.3420 |
| predicted_SLG | 0.5724 |
| predicted_SO | 0.2390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.2370 | 0.1877 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.5740 | 2.5295 | model_form_blend |
| predicted_AVG | 0.3370 | 0.3605 | 0.3464 | model_form_blend |
| predicted_BB | 0.1360 | 0.1570 | 0.1444 | model_form_blend |
| predicted_H | 0.6500 | 0.9280 | 0.7608 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0800 | 0.1020 | 0.0888 | model_form_blend |
| predicted_OBP | 0.3610 | 0.3864 | 0.3711 | model_form_blend |
| predicted_R | 0.2710 | 0.3900 | 0.3184 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3420 | 0.3228 | model_form_blend |
| predicted_SLG | 0.5060 | 0.5724 | 0.5325 | model_form_blend |
| predicted_SO | 0.2710 | 0.2390 | 0.2582 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 122 |
| Season rows before report date | 122 |
| Report year | 2026 |
| Profile rows used | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.295 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260705_SD@LAD |
| game_type | full |
| mlbID | 500743 |
| playerID | 500743 |
| playerName | Miguel Rojas |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 9.5 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.336 |
| sl_xwoba | 0.337 |
| sl_xba | 0.296 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 16.0 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.325 | 4.000 | 3.000 | Hitting_AB | 3.496 | 1.000 | 0.504 | 3.000 |
| predicted_AVG | 0.258 | 0.250 | 0.333 | Hitting_AVG | 0.265 | 0.000 | -0.015 | 0.250 |
| predicted_BB | 0.446 | 0.000 | 0.000 | Hitting_BB | 0.513 | 0.000 | -0.513 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 1.000 | 1.000 | Hitting_H | 0.925 | 0.000 | 0.075 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_OBP | 0.325 | 0.250 | 0.333 | Hitting_OBP | 0.363 | 0.000 | -0.113 | 0.250 |
| predicted_R | 0.639 | 0.000 | 1.000 | Hitting_R | 0.761 | 0.000 | -0.761 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.442 | 0.000 | -0.442 | 0.000 |
| predicted_SLG | 0.449 | 0.250 | 0.333 | Hitting_SLG | 0.518 | 0.000 | -0.268 | 0.250 |
| predicted_SO | 0.880 | 0.000 | 1.000 | Hitting_SO | 1.027 | 1.000 | -1.027 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.3250 -> 4.0000 (boost 0.6750, better) |
| Biggest Deboost | predicted_SO: 0.8800 -> 0.0000 (deboost -0.8800, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4490 -> 0.4563 (boost 0.0073, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 6 | 0 | 6 | 0 | predicted_R: 0.6127 -> 0.6792 (boost 0.0665, 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.8231 -> 1.0000 (boost 0.1769, worse) | predicted_RBI: 0.5135 -> 0.0000 (deboost -0.5135, worse) | AB rounded to 3 (raw=3.35), rates preserved: AVG=0.270 HR/AB=0.043 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=28.0, weight=0.193, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6792 -> 1.0000 (boost 0.3208, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2695 -> 0.3330 (boost 0.0635, better) | predicted_SLG: 0.4633 -> 0.3330 (deboost -0.1303, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4633 (boost 0.1303, better) | predicted_AVG: 0.3330 -> 0.2695 (deboost -0.0635, 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.157,
"predicted_3B": 0.012,
"predicted_AB": 3.325,
"predicted_AVG": 0.258,
"predicted_BB": 0.446,
"predicted_H": 0.82,
"predicted_HR": 0.13,
"predicted_OBP": 0.325,
"predicted_R": 0.639,
"predicted_RBI": 0.45,
"predicted_SLG": 0.449,
"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.1812,
"predicted_3B": 0.0175,
"predicted_AB": 3.3543,
"predicted_AVG": 0.26,
"predicted_BB": 0.4023,
"predicted_H": 0.8506,
"predicted_HBP": 0.023,
"predicted_HR": 0.1351,
"predicted_OBP": 0.3288,
"predicted_R": 0.6127,
"predicted_RBI": 0.4632,
"predicted_SLG": 0.4563,
"predicted_SO": 0.8435
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1812,
"delta": 0.0242,
"percent_delta": 0.1541,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0175,
"delta": 0.0055,
"percent_delta": 0.4583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.325,
"after": 3.3543,
"delta": 0.0293,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.26,
"delta": 0.002,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.4023,
"delta": -0.0437,
"percent_delta": -0.098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8506,
"delta": 0.0306,
"percent_delta": 0.0373,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1351,
"delta": 0.0051,
"percent_delta": 0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3288,
"delta": 0.0038,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 0.6127,
"delta": -0.0263,
"percent_delta": -0.0412,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4632,
"delta": 0.0132,
"percent_delta": 0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4563,
"delta": 0.0073,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8435,
"delta": -0.0365,
"percent_delta": -0.0415,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4563,
"delta": 0.0073,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1812,
"predicted_3B": 0.0175,
"predicted_AB": 3.3543,
"predicted_AVG": 0.2695,
"predicted_BB": 0.412,
"predicted_H": 0.9041,
"predicted_HBP": 0.023,
"predicted_HR": 0.1446,
"predicted_OBP": 0.3494,
"predicted_R": 0.6792,
"predicted_RBI": 0.5135,
"predicted_SLG": 0.4633,
"predicted_SO": 0.8231
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1812,
"after": 0.1812,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0175,
"after": 0.0175,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3543,
"after": 3.3543,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2695,
"delta": 0.0095,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4023,
"after": 0.412,
"delta": 0.0097,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8506,
"after": 0.9041,
"delta": 0.0535,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.1351,
"after": 0.1446,
"delta": 0.0095,
"percent_delta": 0.0703,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3288,
"after": 0.3494,
"delta": 0.0206,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6127,
"after": 0.6792,
"delta": 0.0665,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4632,
"after": 0.5135,
"delta": 0.0503,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4563,
"after": 0.4633,
"delta": 0.007,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8435,
"after": 0.8231,
"delta": -0.0204,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6127,
"after": 0.6792,
"delta": 0.0665,
"percent_delta": 0.1085,
"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.35), rates preserved: AVG=0.270 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.1812,
"after": 0.0,
"delta": -0.1812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0175,
"after": 0.0,
"delta": -0.0175,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3543,
"after": 3.0,
"delta": -0.3543,
"percent_delta": -0.1056,
"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.9041,
"after": 1.0,
"delta": 0.0959,
"percent_delta": 0.1061,
"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.1446,
"after": 0.0,
"delta": -0.1446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5135,
"after": 0.0,
"delta": -0.5135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8231,
"after": 1.0,
"delta": 0.1769,
"percent_delta": 0.2149,
"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.8231,
"after": 1.0,
"delta": 0.1769,
"percent_delta": 0.2149,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5135,
"after": 0.0,
"delta": -0.5135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=28.0, weight=0.193, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8069,
"bvp": 0.1931
},
"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.6792,
"after": 1.0,
"delta": 0.3208,
"percent_delta": 0.4723,
"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.6792,
"after": 1.0,
"delta": 0.3208,
"percent_delta": 0.4723,
"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.2695,
"after": 0.333,
"delta": 0.0635,
"percent_delta": 0.2356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": -0.0164,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4633,
"after": 0.333,
"delta": -0.1303,
"percent_delta": -0.2812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2695,
"after": 0.333,
"delta": 0.0635,
"percent_delta": 0.2356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4633,
"after": 0.333,
"delta": -0.1303,
"percent_delta": -0.2812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2695,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3494,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4633,
"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.333,
"after": 0.2695,
"delta": -0.0635,
"percent_delta": -0.1906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3494,
"delta": 0.0164,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4633,
"delta": 0.1303,
"percent_delta": 0.3913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4633,
"delta": 0.1303,
"percent_delta": 0.3913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2695,
"delta": -0.0635,
"percent_delta": -0.1906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.325,
"after": 4.0,
"delta": 0.675,
"percent_delta": 0.203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2695,
"delta": 0.0115,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"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.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3494,
"delta": 0.0244,
"percent_delta": 0.0751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 0.0,
"delta": -0.639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.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.4633,
"delta": 0.0143,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.325,
"after": 4.0,
"delta": 0.675,
"percent_delta": 0.203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"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.012 | - |
| predicted_AB | 3.325 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.639 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.449 | - |
| 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.181 | 0.024 |
| predicted_3B | 0.018 | 0.006 |
| predicted_AB | 3.354 | 0.029 |
| predicted_AVG | 0.260 | 0.002 |
| predicted_BB | 0.402 | -0.044 |
| predicted_H | 0.851 | 0.031 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.135 | 0.005 |
| predicted_OBP | 0.329 | 0.004 |
| predicted_R | 0.613 | -0.026 |
| predicted_RBI | 0.463 | 0.013 |
| predicted_SLG | 0.456 | 0.007 |
| predicted_SO | 0.844 | -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.181 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.354 | 0.000 |
| predicted_AVG | 0.270 | 0.010 |
| predicted_BB | 0.412 | 0.010 |
| predicted_H | 0.904 | 0.053 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.145 | 0.010 |
| predicted_OBP | 0.349 | 0.021 |
| predicted_R | 0.679 | 0.067 |
| predicted_RBI | 0.513 | 0.050 |
| predicted_SLG | 0.463 | 0.007 |
| predicted_SO | 0.823 | -0.020 |
AB rounded to 3 (raw=3.35), rates preserved: AVG=0.270 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 | - |
Sample-size BvP blend (BvP AB=28.0, weight=0.193, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.181 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | -0.354 |
| predicted_AVG | 0.333 | 0.064 |
| predicted_BB | 0.000 | -0.412 |
| predicted_H | 1.000 | 0.096 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.333 | -0.016 |
| predicted_R | 1.000 | 0.321 |
| predicted_RBI | 0.000 | -0.513 |
| predicted_SLG | 0.333 | -0.130 |
| predicted_SO | 1.000 | 0.177 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.2500 | 0.2941 | 0.3750 | 0.2500 | 0.0000 | 0.1250 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 1.000 | 1.000 | 6.000 | 6.000 | 2.000 | 7.000 | 0.2778 | 0.3158 | 0.4722 | 0.2778 | 0.0278 | 0.1667 | 0.0556 | 0.1944 |
| season | 0.60 | 83 | - | 276.000 | 73.000 | 13.000 | 1.000 | 17.000 | 39.000 | 53.000 | 37.000 | 73.000 | 0.2645 | 0.3576 | 0.5036 | 0.2645 | 0.0616 | 0.1413 | 0.1341 | 0.2645 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2140 |
| predicted_3B | 0.0250 |
| predicted_AB | 3.3940 |
| predicted_AVG | 0.2628 |
| predicted_BB | 0.3430 |
| predicted_H | 0.8920 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.3339 |
| predicted_R | 0.5770 |
| predicted_RBI | 0.4810 |
| predicted_SLG | 0.4662 |
| predicted_SO | 0.7940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.2140 | 0.1812 | model_form_blend |
| predicted_3B | 0.0120 | 0.0250 | 0.0175 | model_form_blend |
| predicted_AB | 3.3250 | 3.3940 | 3.3543 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2628 | 0.2600 | model_form_blend |
| predicted_BB | 0.4460 | 0.3430 | 0.4023 | model_form_blend |
| predicted_H | 0.8200 | 0.8920 | 0.8506 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.1300 | 0.1420 | 0.1351 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3339 | 0.3288 | model_form_blend |
| predicted_R | 0.6390 | 0.5770 | 0.6127 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4810 | 0.4632 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4662 | 0.4563 | model_form_blend |
| predicted_SO | 0.8800 | 0.7940 | 0.8435 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 226 |
| Season rows before report date | 226 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.264 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_SD@LAD |
| game_type | short |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | False |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.373 |
| sl_xwoba | 0.361 |
| sl_xba | 0.25 |
| sl_xslg | 0.491 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 44.3 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 44.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.148 | 1.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | 0.884 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.074 | 4.000 | 3.000 | Hitting_AB | 3.298 | 1.000 | 0.702 | 3.000 |
| predicted_AVG | 0.281 | 0.500 | 0.333 | Hitting_AVG | 0.278 | 0.000 | 0.222 | 0.500 |
| predicted_BB | 0.296 | 0.000 | 0.000 | Hitting_BB | 0.314 | 0.000 | -0.314 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 2.000 | 1.000 | Hitting_H | 0.917 | 0.000 | 1.083 | 2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_OBP | 0.338 | 0.500 | 0.333 | Hitting_OBP | 0.361 | 0.000 | 0.139 | 0.500 |
| predicted_R | 0.500 | 1.000 | 1.000 | Hitting_R | 0.603 | 0.000 | 0.397 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 1.000 | Hitting_RBI | 0.661 | 0.000 | 0.339 | 1.000 |
| predicted_SLG | 0.483 | 0.750 | 0.333 | Hitting_SLG | 0.569 | 0.000 | 0.181 | 0.750 |
| predicted_SO | 0.926 | 1.000 | 1.000 | Hitting_SO | 0.975 | 0.000 | 0.025 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.7400 -> 2.0000 (boost 1.2600, better) |
| Biggest Deboost | predicted_BB: 0.2960 -> 0.0000 (deboost -0.2960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.7400 -> 0.8047 (boost 0.0647, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.5553 -> 0.6156 (boost 0.0603, better) | predicted_AVG: 0.2874 -> 0.2800 (deboost -0.0074, 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.6156 -> 1.0000 (boost 0.3844, better) | predicted_BB: 0.2956 -> 0.0000 (deboost -0.2956, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.278 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6078 -> 1.0000 (boost 0.3922, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2800 -> 0.3330 (boost 0.0530, better) | predicted_SLG: 0.4992 -> 0.3330 (deboost -0.1662, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4992 (boost 0.1662, better) | predicted_AVG: 0.3330 -> 0.2800 (deboost -0.0530, 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.148,
"predicted_3B": 0.0,
"predicted_AB": 3.074,
"predicted_AVG": 0.281,
"predicted_BB": 0.296,
"predicted_H": 0.74,
"predicted_HR": 0.14,
"predicted_OBP": 0.338,
"predicted_R": 0.5,
"predicted_RBI": 0.5,
"predicted_SLG": 0.483,
"predicted_SO": 0.926
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1529,
"predicted_3B": 0.0008,
"predicted_AB": 3.0552,
"predicted_AVG": 0.2874,
"predicted_BB": 0.2886,
"predicted_H": 0.8047,
"predicted_HBP": 0.041,
"predicted_HR": 0.1605,
"predicted_OBP": 0.345,
"predicted_R": 0.5483,
"predicted_RBI": 0.5553,
"predicted_SLG": 0.5059,
"predicted_SO": 0.9248
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.1529,
"delta": 0.0049,
"percent_delta": 0.0331,
"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.074,
"after": 3.0552,
"delta": -0.0188,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2874,
"delta": 0.0064,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 0.2886,
"delta": -0.0074,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.8047,
"delta": 0.0647,
"percent_delta": 0.0874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1605,
"delta": 0.0205,
"percent_delta": 0.1464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.345,
"delta": 0.007,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5483,
"delta": 0.0483,
"percent_delta": 0.0966,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5553,
"delta": 0.0553,
"percent_delta": 0.1106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.5059,
"delta": 0.0229,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.9248,
"delta": -0.0012,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.8047,
"delta": 0.0647,
"percent_delta": 0.0874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 54
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1529,
"predicted_3B": 0.0008,
"predicted_AB": 3.0552,
"predicted_AVG": 0.28,
"predicted_BB": 0.2956,
"predicted_H": 0.8553,
"predicted_HBP": 0.041,
"predicted_HR": 0.1718,
"predicted_OBP": 0.3435,
"predicted_R": 0.6078,
"predicted_RBI": 0.6156,
"predicted_SLG": 0.4992,
"predicted_SO": 0.9024
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1529,
"after": 0.1529,
"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.0552,
"after": 3.0552,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2874,
"after": 0.28,
"delta": -0.0074,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2886,
"after": 0.2956,
"delta": 0.007,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8047,
"after": 0.8553,
"delta": 0.0506,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1605,
"after": 0.1718,
"delta": 0.0113,
"percent_delta": 0.0704,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3435,
"delta": -0.0015,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5483,
"after": 0.6078,
"delta": 0.0595,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5553,
"after": 0.6156,
"delta": 0.0603,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5059,
"after": 0.4992,
"delta": -0.0067,
"percent_delta": -0.0132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9248,
"after": 0.9024,
"delta": -0.0224,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5553,
"after": 0.6156,
"delta": 0.0603,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2874,
"after": 0.28,
"delta": -0.0074,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.07), rates preserved: AVG=0.278 HR/AB=0.056",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1529,
"after": 0.0,
"delta": -0.1529,
"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.0552,
"after": 3.0,
"delta": -0.0552,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2956,
"after": 0.0,
"delta": -0.2956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8553,
"after": 1.0,
"delta": 0.1447,
"percent_delta": 0.1692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1718,
"after": 0.0,
"delta": -0.1718,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6156,
"after": 1.0,
"delta": 0.3844,
"percent_delta": 0.6244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9024,
"after": 1.0,
"delta": 0.0976,
"percent_delta": 0.1082,
"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.6156,
"after": 1.0,
"delta": 0.3844,
"percent_delta": 0.6244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2956,
"after": 0.0,
"delta": -0.2956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6078,
"after": 1.0,
"delta": 0.3922,
"percent_delta": 0.6453,
"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.6078,
"after": 1.0,
"delta": 0.3922,
"percent_delta": 0.6453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.28,
"after": 0.333,
"delta": 0.053,
"percent_delta": 0.1893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3435,
"after": 0.333,
"delta": -0.0105,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4992,
"after": 0.333,
"delta": -0.1662,
"percent_delta": -0.3329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.28,
"after": 0.333,
"delta": 0.053,
"percent_delta": 0.1893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4992,
"after": 0.333,
"delta": -0.1662,
"percent_delta": -0.3329,
"direction": "deboost",
"projection_effect": "worse",
"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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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.28,
"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.3435,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4992,
"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.28,
"delta": -0.053,
"percent_delta": -0.1593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3435,
"delta": 0.0105,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4992,
"delta": 0.1662,
"percent_delta": 0.4991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4992,
"delta": 0.1662,
"percent_delta": 0.4991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.28,
"delta": -0.053,
"percent_delta": -0.1593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 1.0,
"delta": 0.852,
"percent_delta": 5.7568,
"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.074,
"after": 4.0,
"delta": 0.926,
"percent_delta": 0.3012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.28,
"delta": -0.001,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 0.0,
"delta": -0.296,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 2.0,
"delta": 1.26,
"percent_delta": 1.7027,
"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.338,
"after": 0.3435,
"delta": 0.0055,
"percent_delta": 0.0163,
"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.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.4992,
"delta": 0.0162,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 1.0,
"delta": 0.074,
"percent_delta": 0.0799,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.74,
"after": 2.0,
"delta": 1.26,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.296,
"after": 0.0,
"delta": -0.296,
"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.148 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.074 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.296 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.483 | - |
| predicted_SO | 0.926 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | 0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.055 | -0.019 |
| predicted_AVG | 0.287 | 0.006 |
| predicted_BB | 0.289 | -0.007 |
| predicted_H | 0.805 | 0.065 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.161 | 0.020 |
| predicted_OBP | 0.345 | 0.007 |
| predicted_R | 0.548 | 0.048 |
| predicted_RBI | 0.555 | 0.055 |
| predicted_SLG | 0.506 | 0.023 |
| predicted_SO | 0.925 | -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.153 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.055 | 0.000 |
| predicted_AVG | 0.280 | -0.007 |
| predicted_BB | 0.296 | 0.007 |
| predicted_H | 0.855 | 0.051 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.172 | 0.011 |
| predicted_OBP | 0.344 | -0.001 |
| predicted_R | 0.608 | 0.059 |
| predicted_RBI | 0.616 | 0.060 |
| predicted_SLG | 0.499 | -0.007 |
| predicted_SO | 0.902 | -0.022 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.278 HR/AB=0.056
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.153 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.055 |
| predicted_AVG | 0.333 | 0.053 |
| predicted_BB | 0.000 | -0.296 |
| predicted_H | 1.000 | 0.145 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.333 | -0.011 |
| predicted_R | 1.000 | 0.392 |
| predicted_RBI | 1.000 | 0.384 |
| predicted_SLG | 0.333 | -0.166 |
| predicted_SO | 1.000 | 0.098 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 4.000 | 0.4545 | 0.4615 | 0.8182 | 0.4546 | 0.0909 | 0.3636 | 0.0909 | 0.3636 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 1.000 | 0.000 | 2.000 | 7.000 | 7.000 | 3.000 | 10.000 | 0.2903 | 0.3429 | 0.5161 | 0.2903 | 0.0645 | 0.2258 | 0.0968 | 0.3226 |
| season | 0.60 | 54 | - | 166.000 | 43.000 | 8.000 | 0.000 | 10.000 | 29.000 | 27.000 | 16.000 | 50.000 | 0.2590 | 0.3369 | 0.4880 | 0.2590 | 0.0602 | 0.1747 | 0.0964 | 0.3012 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0280 |
| predicted_AVG | 0.2966 |
| predicted_BB | 0.2780 |
| predicted_H | 0.8980 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.1900 |
| predicted_OBP | 0.3552 |
| predicted_R | 0.6180 |
| predicted_RBI | 0.6350 |
| predicted_SLG | 0.5389 |
| predicted_SO | 0.9230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.1600 | 0.1529 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0740 | 3.0280 | 3.0552 | model_form_blend |
| predicted_AVG | 0.2810 | 0.2966 | 0.2874 | model_form_blend |
| predicted_BB | 0.2960 | 0.2780 | 0.2886 | model_form_blend |
| predicted_H | 0.7400 | 0.8980 | 0.8047 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.1400 | 0.1900 | 0.1605 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3552 | 0.3450 | model_form_blend |
| predicted_R | 0.5000 | 0.6180 | 0.5483 | model_form_blend |
| predicted_RBI | 0.5000 | 0.6350 | 0.5553 | model_form_blend |
| predicted_SLG | 0.4830 | 0.5389 | 0.5059 | model_form_blend |
| predicted_SO | 0.9260 | 0.9230 | 0.9248 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 1 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260705_SD@LAD |
| game_type | short |
| mlbID | 687221 |
| playerID | 687221 |
| playerName | Dalton Rushing |
| pos | C |
| started | False |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-05 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.36 |
| sl_xwoba | 0.342 |
| sl_xba | 0.254 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 50.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.500 | 1.000 | 1.500 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.833 | 3.000 | 0.167 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.500 | 9.000 | -1.500 | -6.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.567 | 6.000 | -0.467 | -0.900 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 3.000 | 2.000 | 0.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.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": "641778",
"player_name": "Eric Lauer",
"position": "Starter",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 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 | 3.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.100 | 10.000 | 23.000 | 8.000 | 14.000 | 5.000 | 3.1765 | 1.0941 | 0.3529 | 0.8118 | 0.2823 | 0.4941 | 0.1765 |
| last_10 | 0.35 | 10 | 53.000 | 24.000 | 49.000 | 15.000 | 28.000 | 13.000 | 4.0755 | 1.2075 | 0.4528 | 0.9245 | 0.2830 | 0.5283 | 0.2453 |
| season | 0.20 | 14 | 70.200 | 38.000 | 65.000 | 25.000 | 44.000 | 17.000 | 4.8396 | 1.2736 | 0.5377 | 0.9198 | 0.3538 | 0.6226 | 0.2406 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6870 |
| predicted_ER | 2.4040 |
| predicted_ERA | 4.0114 |
| predicted_H | 4.8460 |
| predicted_HR | 1.0600 |
| predicted_IP | 5.1000 |
| predicted_SO | 3.4690 |
| predicted_WHIP | 1.2111 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.6870 | 2.2926 | model_form_blend |
| predicted_ER | 2.0000 | 2.4040 | 2.2177 | model_form_blend |
| predicted_ERA | - | 4.0114 | 4.0114 | form_only |
| predicted_H | 3.0000 | 4.8460 | 3.9946 | model_form_blend |
| predicted_HR | 0.0000 | 1.0600 | 0.5711 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 3.0000 | 3.4690 | 3.2527 | model_form_blend |
| predicted_WHIP | - | 1.2111 | 1.2111 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 14 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 3 |
| HR | 0 |
| BF | 22 |
| Pitches | 93 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 28 |
| Pitching_ER | 3 |
| Pitching_ERA | 4.84 |
| Pitching_Flyouts | 7 |
| Pitching_Groundouts | 8 |
| Pitching_H | 9 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 95 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260629_LAD@OAK |
| game_type | full |
| mlbID | 641778 |
| playerID | 641778 |
| playerName | Eric Lauer |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-29 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.333 |
| sl_xwoba | 0.345 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 50.4 |
| sl_avg_best_speed | 77.226947054 |
| sl_avg_hyper_speed | 93.634076429 |
| 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.303 | 0.000 | -0.303 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.606 | 0.000 | -0.606 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.973 | 1.000 | 0.027 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.061 | 1.000 | -1.061 | -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": "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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 5.000 | 2.000 | 10.000 | 0.000 | 1.8000 | 0.7000 | 0.2000 | 0.5000 | 0.2000 | 1.0000 | 0.0000 |
| season | 0.20 | 33 | 34.200 | 10.000 | 20.000 | 11.000 | 35.000 | 1.000 | 2.5962 | 0.8942 | 0.2885 | 0.5769 | 0.3173 | 1.0096 | 0.0289 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2800 |
| predicted_ER | 0.2860 |
| predicted_ERA | 2.5757 |
| predicted_H | 0.5770 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9300 |
| predicted_WHIP | 0.8562 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2800 | 0.1322 | model_form_blend |
| predicted_ER | 0.0000 | 0.2860 | 0.1350 | model_form_blend |
| predicted_ERA | - | 2.5757 | 2.5757 | form_only |
| predicted_H | 0.0000 | 0.5770 | 0.2724 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0312 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9300 | 0.4390 | model_form_blend |
| predicted_WHIP | - | 0.8562 | 0.8562 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 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 | 2.60 |
| 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 | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260703_SD@LAD |
| game_type | full |
| mlbID | 683618 |
| playerID | 683618 |
| playerName | Edgardo Henriquez |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-03 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.239 |
| sl_xwoba | 0.242 |
| sl_sweet_spot_percent | 21.4 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 31.0 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 50.3 |
| sl_avg_best_speed | 71.054601667 |
| sl_avg_hyper_speed | 92.587648916 |
| 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.079 | 0.000 | -0.079 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.579 | 0.000 | -0.579 | 0.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.871 | 1.000 | 1.129 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.184 | 3.000 | -0.184 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 2.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 3.000 | 0.000 | 7.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.6429 | 0.0000 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 6.000 | 0.000 | 15.000 | 0.000 | 0.9310 | 0.6207 | 0.1035 | 0.6207 | 0.0000 | 1.5517 | 0.0000 |
| season | 0.20 | 38 | 35.200 | 8.000 | 22.000 | 3.000 | 45.000 | 4.000 | 2.0187 | 0.7009 | 0.2243 | 0.6168 | 0.0841 | 1.2617 | 0.1121 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1580 |
| predicted_ER | 0.2560 |
| predicted_ERA | 2.3061 |
| predicted_H | 0.7710 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2570 |
| predicted_WHIP | 0.9284 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1580 | 0.0751 | model_form_blend |
| predicted_ER | 0.0000 | 0.2560 | 0.1216 | model_form_blend |
| predicted_ERA | - | 2.3061 | 2.3061 | form_only |
| predicted_H | 0.0000 | 0.7710 | 0.3663 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0356 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2570 | 1.1221 | model_form_blend |
| predicted_WHIP | - | 0.9284 | 0.9284 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 2.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.02 |
| Pitching_Flyouts | 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 | 18 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260703_SD@LAD |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-03 |
| sl_k_percent | 34.4 |
| sl_bb_percent | 2.3 |
| sl_woba | 0.215 |
| sl_xwoba | 0.256 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 54.9 |
| sl_avg_best_speed | 79.4639435 |
| sl_avg_hyper_speed | 92.983739875 |
| 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.436 | 0.000 | 1.564 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.564 | 0.100 | -0.364 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.051 | 1.000 | -0.051 | 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": 2.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 1.000 | 3.000 | 1.000 | 7.000 | 0.000 | 2.4545 | 1.0909 | 0.2727 | 0.8182 | 0.2727 | 1.9091 | 0.0000 |
| last_10 | 0.35 | 10 | 7.000 | 1.000 | 3.000 | 5.000 | 11.000 | 0.000 | 1.2857 | 1.1429 | 0.1429 | 0.4286 | 0.7143 | 1.5714 | 0.0000 |
| season | 0.20 | 39 | 29.000 | 8.000 | 14.000 | 17.000 | 41.000 | 0.000 | 2.4828 | 1.0690 | 0.2759 | 0.4828 | 0.5862 | 1.4138 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2850 |
| predicted_ER | 0.2380 |
| predicted_ERA | 3.2071 |
| predicted_H | 0.5200 |
| predicted_HR | 0.0460 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8990 |
| predicted_WHIP | 1.2081 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.2850 | 1.2223 | model_form_blend |
| predicted_ER | 0.0000 | 0.2380 | 0.1079 | model_form_blend |
| predicted_ERA | - | 3.2071 | 3.2071 | form_only |
| predicted_H | 0.0000 | 0.5200 | 0.2358 | model_form_blend |
| predicted_HR | 0.0000 | 0.0460 | 0.0209 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8990 | 0.9542 | model_form_blend |
| predicted_WHIP | - | 1.2081 | 1.2081 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.48 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 3 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 3 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260704_SD@LAD |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-04 |
| sl_k_percent | 34.5 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.206 |
| sl_xwoba | 0.256 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 36.1 |
| sl_whiff_percent | 38.1 |
| sl_swing_percent | 47.1 |
| sl_avg_best_speed | 77.477331613 |
| sl_avg_hyper_speed | 92.534835902 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | HOU 4 - 5 WAS | WAS | 0.607 | scoring_simulation.final_score | True |
| Simulation draw | HOU 3 - 5 WAS | WAS | - | 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.6072 |
| 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.942 | 6.154 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 7 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 3 | 0.6072 | 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 | 5 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 5 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.41961078838174276,
"base_low_score_probability": 0.4197786998616874,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": -0.00016791147994466016,
"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": 82,
"near_bucket_sample_size": 82,
"medium_bucket_sample_size": 83,
"wide_bucket_sample_size": 86,
"global_sample_size": 117,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.4756,
"bayesian_hit_rate": 0.48,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.82,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5078,
"calibrated_pick_probability": 0.505,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "WAS",
"games": 91,
"wins": 46,
"losses": 45,
"win_pct": 0.5054945054945055,
"runs_scored": 485,
"runs_allowed": 476,
"run_differential": 9,
"run_differential_per_game": 0.0989010989010989,
"available": true
},
"away": {
"team": "HOU",
"games": 92,
"wins": 45,
"losses": 47,
"win_pct": 0.4891304347826087,
"runs_scored": 413,
"runs_allowed": 457,
"run_differential": -44,
"run_differential_per_game": -0.4782608695652174,
"available": true
},
"run_differential_edge_per_game": 0.5772,
"win_pct_edge": 0.0164,
"quality_edge": 0.6017,
"margin_adjustment": 0.2527,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 6.914,
"home_runs": 6.823,
"home_win_probability": 0.4922
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "HOU",
"guardrail_predicted_team": "HOU",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "WAS",
"output_opponent_team": "HOU",
"final_score_winner": "WAS",
"pre_simulation_winner": "WAS",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "HOU 4 - 5 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "HOU 3 - 5 WAS",
"winner": "WAS"
},
"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.6017,
"winner": "WAS",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "WAS",
"games": 91,
"wins": 46,
"losses": 45,
"win_pct": 0.5054945054945055,
"runs_scored": 485,
"runs_allowed": 476,
"run_differential": 9,
"run_differential_per_game": 0.0989010989010989,
"available": true
},
"away": {
"team": "HOU",
"games": 92,
"wins": 45,
"losses": 47,
"win_pct": 0.4891304347826087,
"runs_scored": 413,
"runs_allowed": 457,
"run_differential": -44,
"run_differential_per_game": -0.4782608695652174,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.0918,
"final_margin": -0.0918,
"margin_cap": 1.5,
"season_quality_edge": 0.6017,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.459266,
"final_confidence": 0.505,
"confidence_cap": 0.66,
"score_gap": 0.0918,
"calibration_sample_size": 82,
"calibration_empirical_hit_rate": 0.4756,
"calibration_bayesian_hit_rate": 0.48,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6017,
"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": 5,
"score_text": "HOU 4 - 5 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "HOU 3 - 5 WAS",
"winner": "WAS"
},
"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.6017,
"winner": "WAS",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 5,
"confidence": 0.6072363362198027,
"home_win_probability": 0.6072363362198027,
"away_win_probability": 0.39276366378019734,
"predicted_score_text": "HOU 3 - 5 WAS",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "HOU",
"original_runs": 4,
"run_delta": 0.4036,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.13474564836580744,
"contact": -0.16989555038376936,
"power": 0.0786098789447448,
"discipline": -0.018482650249728838,
"xwoba": 0.312,
"recent_xwoba": 0.312,
"barrel": 9.178125,
"ab_hard_contact": -0.002254537697614148,
"ab_bat_speed": 70.56457198758942,
"ab_strikeout_rate": 0.2002586919163954,
"available_players": 8,
"top_players": [
{
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"weight": 4.0,
"quality": 1.8460055179918229,
"contact": 2.0,
"power": 2.0,
"discipline": 1.2035216450216448,
"xwoba": 0.477,
"recent_xwoba": 0.477,
"barrel": 19.3,
"ab_hard_contact": 1.7670497339265658,
"ab_bat_speed": 75.27087806637806,
"ab_strikeout_rate": 0.1737878787878788,
"available": 1.0
},
{
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"weight": 3.0,
"quality": 0.5400173300487564,
"contact": 0.42147266786252285,
"power": 0.8654862427589767,
"discipline": -0.2805692640692641,
"xwoba": 0.339,
"recent_xwoba": 0.339,
"barrel": 12.3,
"ab_hard_contact": 1.1165819980366705,
"ab_bat_speed": 75.12562626262627,
"ab_strikeout_rate": 0.2678787878787879,
"available": 1.0
},
{
"player_id": "694728",
"player_name": "Brice Matthews",
"position": "CF",
"weight": 3.0,
"quality": -0.5178926225172121,
"contact": -1.2012968816592735,
"power": -0.31160203605412506,
"discipline": -1.0248963052451425,
"xwoba": 0.262,
"recent_xwoba": 0.262,
"barrel": 8.6,
"ab_hard_contact": -1.19585024489202,
"ab_bat_speed": 68.77533239370449,
"ab_strikeout_rate": 0.3479915433403805,
"available": 1.0
},
{
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"weight": 4.0,
"quality": -0.3974392071218068,
"contact": -0.5846095315396631,
"power": -0.6220682012283715,
"discipline": 0.25150793650793646,
"xwoba": 0.292,
"recent_xwoba": 0.292,
"barrel": 6.1,
"ab_hard_contact": -0.32441164361503816,
"ab_bat_speed": 66.86883267195768,
"ab_strikeout_rate": 0.1908730158730159,
"available": 1.0
},
{
"player_id": "673237",
"player_name": "Yainer Diaz",
"position": "C",
"weight": 4.0,
"quality": -0.2198609699763616,
"contact": -0.46101657504873284,
"power": -0.5569488229456896,
"discipline": -0.33693915343915354,
"xwoba": 0.277,
"recent_xwoba": 0.277,
"barrel": 4.8,
"ab_hard_contact": -0.6395478874852154,
"ab_bat_speed": 70.95669560185185,
"ab_strikeout_rate": 0.15046296296296297,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "571945",
"player_name": "Miles Mikolas",
"quality": -0.5692343294679512,
"contact": -0.6338470452097223,
"command": -0.8315714285714289,
"movement": -0.7601368041742297,
"xwoba": 0.337,
"whiff": 14.7,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "WAS",
"original_runs": 3,
"run_delta": 0.3712,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.20204862265893628,
"contact": 0.22158505873859716,
"power": 0.2610476788320243,
"discipline": 0.07942990009748654,
"xwoba": 0.3313225806451613,
"recent_xwoba": 0.3313225806451613,
"barrel": 9.377419354838711,
"ab_hard_contact": 0.13872988317097162,
"ab_bat_speed": 69.90966891854869,
"ab_strikeout_rate": 0.19678054537102338,
"available_players": 9,
"top_players": [
{
"player_id": "695578",
"player_name": "James Wood",
"position": "DH",
"weight": 4.0,
"quality": 1.5418424158448094,
"contact": 1.514150233442521,
"power": 2.0,
"discipline": 0.519326530612245,
"xwoba": 0.42400000000000004,
"recent_xwoba": 0.424,
"barrel": 22.6,
"ab_hard_contact": 1.3574330422779377,
"ab_bat_speed": 74.21144047619048,
"ab_strikeout_rate": 0.2949829931972789,
"available": 1.0
},
{
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "2B",
"weight": 3.0,
"quality": -0.89676855997834,
"contact": -1.1201340323495101,
"power": -1.5806988813829532,
"discipline": 0.3586326530612243,
"xwoba": 0.272,
"recent_xwoba": 0.272,
"barrel": 0.5,
"ab_hard_contact": -1.1903585800400152,
"ab_bat_speed": 63.84837018140589,
"ab_strikeout_rate": 0.19931972789115648,
"available": 1.0
},
{
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"weight": 3.0,
"quality": 0.6914311831118944,
"contact": 1.1559826824512665,
"power": 1.1189717825569558,
"discipline": -0.023666666666666752,
"xwoba": 0.355,
"recent_xwoba": 0.355,
"barrel": 10.6,
"ab_hard_contact": 0.5021023178057896,
"ab_bat_speed": 71.92312936507936,
"ab_strikeout_rate": 0.14833333333333334,
"available": 1.0
},
{
"player_id": "686452",
"player_name": "Drew Millas",
"position": "C",
"weight": 3.0,
"quality": -0.4818626546192129,
"contact": -1.3603000205536588,
"power": -1.403313273844248,
"discipline": 0.060632183908045895,
"xwoba": 0.267,
"recent_xwoba": 0.267,
"barrel": 3.3,
"ab_hard_contact": -0.9462654768849594,
"ab_bat_speed": 66.26212164750959,
"ab_strikeout_rate": 0.2310344827586207,
"available": 1.0
},
{
"player_id": "678554",
"player_name": "Curtis Mead",
"position": "3B",
"weight": 3.0,
"quality": 0.3794863957717664,
"contact": 0.6087669777242054,
"power": 0.5866146441381527,
"discipline": 0.7414210220673634,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 10.9,
"ab_hard_contact": 0.3418166922868642,
"ab_bat_speed": 71.61702574525745,
"ab_strikeout_rate": 0.1573170731707317,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "681347",
"player_name": "Mike Burrows",
"quality": -0.3871657615336085,
"contact": -0.6121760517017858,
"command": -0.35314285714285715,
"movement": -0.17212131688049054,
"xwoba": 0.332,
"whiff": 22.5,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"fundamental_edge_target_review": {
"applied": true,
"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": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.6017,
"recent_form_edge_home_minus_away": 0.016,
"pitcher_matchup_edge_home_minus_away": 0.0286,
"composite_home_edge": 0.2179,
"existing_home_win_probability": 0.495,
"refreshed_home_win_probability": 0.6072,
"winner_support_before_review": -0.2179
},
"reasons": [
"flipped low-confidence one-run target away from unsupported side"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 5,
"predicted_score_text": "HOU 4 - 5 WAS",
"confidence": 0.6072363362198027,
"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": 5,
"score_text": "HOU 4 - 5 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "HOU 3 - 5 WAS",
"winner": "WAS"
},
"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.6017,
"winner": "WAS",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "WAS",
"display_confidence": 0.6072,
"internal_fair_probability": 0.6302,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.1062,
"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.6017,
"winner_recent_form_edge": 0.016,
"winner_pitcher_matchup_edge": 0.0286,
"winner_simulation_draw_rate": 0.75,
"blowout_draw_rate_margin_4_plus": 0.0625,
"high_total_draw_rate_11_plus": 0.25,
"low_total_draw_rate_6_or_less": 0.3125,
"total_runs_spread": {
"min": 3,
"median": 8,
"max": 14,
"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 HOU | True | 1.0110 | 1.0110 | 1 | 9 | 0 |
| Home WAS | True | 1.0269 | 1.0269 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Christian Walker | 83 | 1.0007 | 0.0098 | negative_batter_regression | 0.3020 | 0.2250 | 0.3910 | 10.30 | 43.70 | 89.80 | 14.60 | 29.10 | 22.80 | 8.30 | -1 |
| DH | Yordan Alvarez | 7 | 1.1500 | 2 | positive_batter_regression | 0.4770 | 0.3370 | 0.7180 | 19.30 | 53.60 | 94.70 | 19.90 | 19.10 | 17.10 | 15.10 | 0.9714 |
| LF | LaMonte Wade Jr. | 407 | 0.9560 | -0.5861 | negative_batter_regression | 0.2220 | 0.1590 | 0.3070 | 8.30 | 41.70 | 84.80 | 3.70 | 28.60 | 31.60 | 5.30 | -2 |
| 3B | Isaac Paredes | 66 | 1.0002 | 0.0025 | neutral | 0.3200 | 0.2430 | 0.3730 | 6.30 | 30.20 | 86.80 | 24 | 16.70 | 15.40 | 9.30 | -0.6286 |
| 2B | Jose Altuve | 393 | 0.9773 | -0.3022 | neutral | 0.2920 | 0.2310 | 0.3440 | 6.10 | 31.80 | 85.60 | 8.60 | 24.40 | 21.60 | 10 | -0.4857 |
| RF | Cam Smith | 130 | 1.0650 | 0.8667 | positive_batter_regression | 0.3390 | 0.2530 | 0.4620 | 12.30 | 44.80 | 89.40 | 11.60 | 29.30 | 24.50 | 8.30 | 1.2000 |
| C | Yainer Diaz | 495 | 0.9852 | -0.1978 | neutral | 0.2770 | 0.2470 | 0.3560 | 4.80 | 31.20 | 87.80 | 4.70 | 21.70 | 16.60 | 3.20 | 0.1714 |
| SS | Braden Shewmake | 265 | 0.9912 | -0.1175 | neutral | 0.2810 | 0.2360 | 0.3880 | 6.30 | 35.90 | 89.50 | 13.70 | 22.40 | 16.50 | 2.50 | -0.1429 |
| CF | Brice Matthews | 306 | 0.9732 | -0.3567 | neutral | 0.2620 | 0.1920 | 0.3440 | 8.60 | 38 | 87.50 | 12.20 | 36.70 | 32.20 | 6.60 | 0.3429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Luis García Jr. | 69 | 1.0609 | 0.8115 | neutral | 0.3550 | 0.2910 | 0.5070 | 10.60 | 46.60 | 92.10 | 12.20 | 18.50 | 14.60 | 4.40 | -0.4571 |
| 3B | Curtis Mead | 149 | 1.0419 | 0.5587 | neutral | 0.3560 | 0.2580 | 0.4580 | 10.90 | 41.90 | 88 | 16.10 | 17.20 | 18.80 | 11.10 | 0.2857 |
| DH | James Wood | 19 | 1.1500 | 2 | positive_batter_regression | 0.4240 | 0.2750 | 0.6030 | 22.60 | 60.20 | 95.20 | 10.30 | 31.40 | 29.40 | 16.50 | 0.8571 |
| SS | CJ Abrams | 37 | 1.0287 | 0.3824 | negative_batter_regression | 0.3320 | 0.2460 | 0.4280 | 9.80 | 40.90 | 89.90 | 18.50 | 28.70 | 21.70 | 8.40 | -0.9143 |
| RF | Dylan Crews | 290 | 1.0264 | 0.3522 | positive_batter_regression | 0.3330 | 0.2610 | 0.4560 | 9.20 | 44.20 | 90.90 | 11.60 | 29.20 | 21 | 4.80 | 1.0571 |
| C | Drew Millas | 501 | 0.9707 | -0.3904 | neutral | 0.2670 | 0.2030 | 0.2840 | 3.30 | 21.50 | 83.50 | 12.60 | 23.80 | 23.40 | 9 | 0.4286 |
| LF | Daylen Lile | 123 | 1.0192 | 0.2555 | neutral | 0.3170 | 0.2590 | 0.4140 | 7.30 | 35.30 | 87.70 | 17.30 | 22.30 | 17.10 | 6.30 | 0.0571 |
| CF | Jacob Young | 180 | 1.0030 | 0.0398 | neutral | 0.2990 | 0.2520 | 0.3800 | 6.40 | 36.10 | 88.90 | 10.60 | 20.30 | 19.50 | 5.10 | 0.3714 |
| 2B | Nasim Nuñez | 78 | 0.9411 | -0.7850 | neutral | 0.2720 | 0.2200 | 0.2720 | 0.50 | 20.60 | 85.10 | 9.60 | 23.10 | 23.70 | 11 | -0.2857 |
{
"home": {
"applied": true,
"offense_factor": 1.0269,
"raw_average_factor": 1.0269,
"team_espn_average_rank": 160.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "671277",
"player_name": "Luis García Jr.",
"offense_factor": 1.0609,
"quality_score": 0.8115,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671277",
"espn_id": 40459,
"player_name": "Luis Garcia Jr.",
"team": "WSH",
"role": "batter",
"espn_rank": 69,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 69,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 280.0,
"ab_rank": 111,
"r_value": 42.0,
"r_rank": 84,
"h_value": 79.0,
"h_rank": 78,
"avg_value": 0.2821428,
"avg_rank": 34.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 19.0,
"hr_rank": 19,
"rbi_value": 64.0,
"rbi_rank": 4,
"tb_value": 157.0,
"tb_rank": 229,
"bb_value": 13.0,
"bb_rank": 266,
"so_value": 43.0,
"so_rank": 230,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.3129251,
"obp_rank": "115",
"slg_value": 0.5607142,
"slg_rank": "4",
"ops_value": 0.8736393,
"ops_rank": 111.0,
"war_value": 1.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 169.0,
"k_percent": 14.6,
"bb_percent": 4.4,
"woba": 0.371,
"xwoba": 0.355,
"xba": 0.291,
"xslg": 0.507,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 46.6,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 12.2,
"whiff_percent": 18.5,
"swing_percent": 53.7
},
"components": {
"expected_quality": 1.3028,
"regression_edge": -0.4571,
"xwoba_edge": 1.5143,
"xba_edge": 1.4857,
"xslg_edge": 1.9214,
"barrel_edge": 0.8,
"hard_hit_edge": 1.1929,
"exit_velocity_edge": 1.32,
"sweet_spot_edge": -0.0167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "678554",
"player_name": "Curtis Mead",
"offense_factor": 1.0419,
"quality_score": 0.5587,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678554",
"espn_id": 42360,
"player_name": "Curtis Mead",
"team": "WSH",
"role": "batter",
"espn_rank": 149,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 149,
"gp_value": 74.0,
"gp_rank": 159,
"ab_value": 237.0,
"ab_rank": 161,
"r_value": 38.0,
"r_rank": 109,
"h_value": 55.0,
"h_rank": 173,
"avg_value": 0.2320675,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 14.0,
"hr_rank": 48,
"rbi_value": 39.0,
"rbi_rank": 92,
"tb_value": 110.0,
"tb_rank": 654,
"bb_value": 30.0,
"bb_rank": 91,
"so_value": 51.0,
"so_rank": 179,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3284132,
"obp_rank": "-",
"slg_value": 0.464135,
"slg_rank": "-",
"ops_value": 0.7925482,
"ops_rank": null,
"war_value": 1.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 18.8,
"bb_percent": 11.1,
"woba": 0.346,
"xwoba": 0.356,
"xba": 0.258,
"xslg": 0.458,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 41.9,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 16.1,
"whiff_percent": 17.2,
"swing_percent": 41.2
},
"components": {
"expected_quality": 0.9671,
"regression_edge": 0.2857,
"xwoba_edge": 1.5429,
"xba_edge": 0.5429,
"xslg_edge": 1.2214,
"barrel_edge": 0.8667,
"hard_hit_edge": 0.5214,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "695578",
"player_name": "James Wood",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695578",
"espn_id": 4918256,
"player_name": "James Wood",
"team": "WSH",
"role": "batter",
"espn_rank": 19,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 19,
"gp_value": 91.0,
"gp_rank": 1,
"ab_value": 349.0,
"ab_rank": 7,
"r_value": 78.0,
"r_rank": 1,
"h_value": 93.0,
"h_rank": 22,
"avg_value": 0.2664756,
"avg_rank": 57.0,
"2b_value": 22.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 23.0,
"hr_rank": 7,
"rbi_value": 56.0,
"rbi_rank": 18,
"tb_value": 186.0,
"tb_rank": 234,
"bb_value": 70.0,
"bb_rank": 2,
"so_value": 125.0,
"so_rank": 4,
"sb_value": 13.0,
"sb_rank": 28,
"obp_value": 0.3929411,
"obp_rank": "8",
"slg_value": 0.5329512,
"slg_rank": "10",
"ops_value": 0.9258923,
"ops_rank": 2.0,
"war_value": 3.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 255.0,
"k_percent": 29.4,
"bb_percent": 16.5,
"woba": 0.394,
"xwoba": 0.424,
"xba": 0.275,
"xslg": 0.603,
"sweet_spot_percent": 43.4,
"barrel_batted_rate": 22.6,
"hard_hit_percent": 60.2,
"exit_velocity_avg": 95.2,
"launch_angle_avg": 10.3,
"whiff_percent": 31.4,
"swing_percent": 38.3
},
"components": {
"expected_quality": 2.1974,
"regression_edge": 0.8571,
"xwoba_edge": 2.5,
"xba_edge": 1.0286,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 1.6833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "682928",
"player_name": "CJ Abrams",
"offense_factor": 1.0287,
"quality_score": 0.3824,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682928",
"espn_id": 42402,
"player_name": "CJ Abrams",
"team": "WSH",
"role": "batter",
"espn_rank": 37,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 37,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 323.0,
"ab_rank": 49,
"r_value": 53.0,
"r_rank": 31,
"h_value": 87.0,
"h_rank": 39,
"avg_value": 0.2693498,
"avg_rank": 49.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 18.0,
"hr_rank": 25,
"rbi_value": 61.0,
"rbi_rank": 8,
"tb_value": 161.0,
"tb_rank": 221,
"bb_value": 31.0,
"bb_rank": 81,
"so_value": 80.0,
"so_rank": 61,
"sb_value": 14.0,
"sb_rank": 23,
"obp_value": 0.347826,
"obp_rank": "47",
"slg_value": 0.498452,
"slg_rank": "25",
"ops_value": 0.846278,
"ops_rank": 72.0,
"war_value": 2.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 21.7,
"bb_percent": 8.4,
"woba": 0.364,
"xwoba": 0.332,
"xba": 0.246,
"xslg": 0.428,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 18.5,
"whiff_percent": 28.7,
"swing_percent": 51.4
},
"components": {
"expected_quality": 0.5935,
"regression_edge": -0.9143,
"xwoba_edge": 0.8571,
"xba_edge": 0.2,
"xslg_edge": 0.7929,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.3786,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "686611",
"player_name": "Dylan Crews",
"offense_factor": 1.0264,
"quality_score": 0.3522,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686611",
"espn_id": 4719511,
"player_name": "Dylan Crews",
"team": "WSH",
"role": "batter",
"espn_rank": 290,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 290,
"gp_value": 41.0,
"gp_rank": 332,
"ab_value": 155.0,
"ab_rank": 271,
"r_value": 23.0,
"r_rank": 219,
"h_value": 36.0,
"h_rank": 263,
"avg_value": 0.232258,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 306,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 18.0,
"rbi_rank": 272,
"tb_value": 59.0,
"tb_rank": 1591,
"bb_value": 8.0,
"bb_rank": 359,
"so_value": 35.0,
"so_rank": 272,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.2874251,
"obp_rank": "-",
"slg_value": 0.3806451,
"slg_rank": "-",
"ops_value": 0.6680702,
"ops_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 30.0,
"k_percent": 21.0,
"bb_percent": 4.8,
"woba": 0.296,
"xwoba": 0.333,
"xba": 0.261,
"xslg": 0.456,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 44.2,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 11.6,
"whiff_percent": 29.2,
"swing_percent": 53.7
},
"components": {
"expected_quality": 0.7379,
"regression_edge": 1.0571,
"xwoba_edge": 0.8857,
"xba_edge": 0.6286,
"xslg_edge": 1.1929,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.85,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "686452",
"player_name": "Drew Millas",
"offense_factor": 0.9707,
"quality_score": -0.3904,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686452",
"espn_id": 4228448,
"player_name": "Drew Millas",
"team": "WSH",
"role": "batter",
"espn_rank": 501,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 501,
"gp_value": 48.0,
"gp_rank": 308,
"ab_value": 125.0,
"ab_rank": 309,
"r_value": 18.0,
"r_rank": 281,
"h_value": 23.0,
"h_rank": 345,
"avg_value": 0.184,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 340,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 2.0,
"hr_rank": 341,
"rbi_value": 10.0,
"rbi_rank": 354,
"tb_value": 33.0,
"tb_rank": 2154,
"bb_value": 13.0,
"bb_rank": 266,
"so_value": 34.0,
"so_rank": 279,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2765957,
"obp_rank": "-",
"slg_value": 0.264,
"slg_rank": "-",
"ops_value": 0.5405957,
"ops_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 96.0,
"k_percent": 23.4,
"bb_percent": 9.0,
"woba": 0.252,
"xwoba": 0.267,
"xba": 0.203,
"xslg": 0.284,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 21.5,
"exit_velocity_avg": 83.5,
"launch_angle_avg": 12.6,
"whiff_percent": 23.8,
"swing_percent": 44.4
},
"components": {
"expected_quality": -1.0786,
"regression_edge": 0.4286,
"xwoba_edge": -1.0,
"xba_edge": -1.0286,
"xslg_edge": -1.2643,
"barrel_edge": -0.8222,
"hard_hit_edge": -2.3929,
"exit_velocity_edge": -2.12,
"sweet_spot_edge": 0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "695734",
"player_name": "Daylen Lile",
"offense_factor": 1.0192,
"quality_score": 0.2555,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695734",
"espn_id": 4917889,
"player_name": "Daylen Lile",
"team": "WSH",
"role": "batter",
"espn_rank": 123,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 123,
"gp_value": 89.0,
"gp_rank": 16,
"ab_value": 348.0,
"ab_rank": 8,
"r_value": 48.0,
"r_rank": 46,
"h_value": 89.0,
"h_rank": 33,
"avg_value": 0.2557471,
"avg_rank": 77.0,
"2b_value": 20.0,
"2b_rank": 15,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 43.0,
"rbi_rank": 67,
"tb_value": 145.0,
"tb_rank": 365,
"bb_value": 24.0,
"bb_rank": 146,
"so_value": 65.0,
"so_rank": 110,
"sb_value": 8.0,
"sb_rank": 69,
"obp_value": 0.3078947,
"obp_rank": "127",
"slg_value": 0.4166666,
"slg_rank": "93",
"ops_value": 0.7245613,
"ops_rank": 34.0,
"war_value": 1.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 17.1,
"bb_percent": 6.3,
"woba": 0.315,
"xwoba": 0.317,
"xba": 0.259,
"xslg": 0.414,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 35.3,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 17.3,
"whiff_percent": 22.3,
"swing_percent": 55.4
},
"components": {
"expected_quality": 0.2878,
"regression_edge": 0.0571,
"xwoba_edge": 0.4286,
"xba_edge": 0.5714,
"xslg_edge": 0.5929,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.4214,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "696285",
"player_name": "Jacob Young",
"offense_factor": 1.003,
"quality_score": 0.0398,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696285",
"espn_id": 4414210,
"player_name": "Jacob Young",
"team": "WSH",
"role": "batter",
"espn_rank": 180,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 180,
"gp_value": 83.0,
"gp_rank": 96,
"ab_value": 258.0,
"ab_rank": 134,
"r_value": 33.0,
"r_rank": 147,
"h_value": 58.0,
"h_rank": 159,
"avg_value": 0.2248062,
"avg_rank": 134.0,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 8.0,
"hr_rank": 135,
"rbi_value": 31.0,
"rbi_rank": 148,
"tb_value": 97.0,
"tb_rank": 769,
"bb_value": 14.0,
"bb_rank": 255,
"so_value": 54.0,
"so_rank": 162,
"sb_value": 8.0,
"sb_rank": 69,
"obp_value": 0.2753623,
"obp_rank": "155",
"slg_value": 0.3759689,
"slg_rank": "125",
"ops_value": 0.6513312,
"ops_rank": 280.0,
"war_value": 0.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 19.5,
"bb_percent": 5.1,
"woba": 0.286,
"xwoba": 0.299,
"xba": 0.252,
"xslg": 0.38,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 36.1,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 10.6,
"whiff_percent": 20.3,
"swing_percent": 43.6
},
"components": {
"expected_quality": -0.006,
"regression_edge": 0.3714,
"xwoba_edge": -0.0857,
"xba_edge": 0.3714,
"xslg_edge": 0.1071,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.3071,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"offense_factor": 0.9411,
"quality_score": -0.785,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683083",
"espn_id": 4728688,
"player_name": "Nasim Nunez",
"team": "WSH",
"role": "batter",
"espn_rank": 78,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 78,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 251.0,
"ab_rank": 144,
"r_value": 35.0,
"r_rank": 129,
"h_value": 59.0,
"h_rank": 153,
"avg_value": 0.2350597,
"avg_rank": 124.0,
"2b_value": 4.0,
"2b_rank": 340,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 28.0,
"rbi_rank": 181,
"tb_value": 72.0,
"tb_rank": 1689,
"bb_value": 32.0,
"bb_rank": 75,
"so_value": 69.0,
"so_rank": 93,
"sb_value": 32.0,
"sb_rank": 1,
"obp_value": 0.322807,
"obp_rank": "92",
"slg_value": 0.2868525,
"slg_rank": "159",
"ops_value": 0.6096595,
"ops_rank": 67.0,
"war_value": 1.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 183.0,
"k_percent": 23.7,
"bb_percent": 11.0,
"woba": 0.282,
"xwoba": 0.272,
"xba": 0.22,
"xslg": 0.272,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 0.5,
"hard_hit_percent": 20.6,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 9.6,
"whiff_percent": 23.1,
"swing_percent": 47.5
},
"components": {
"expected_quality": -1.0508,
"regression_edge": -0.2857,
"xwoba_edge": -0.8571,
"xba_edge": -0.5429,
"xslg_edge": -1.4357,
"barrel_edge": -1.4444,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.011,
"raw_average_factor": 1.011,
"team_espn_average_rank": 239.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "572233",
"player_name": "Christian Walker",
"offense_factor": 1.0007,
"quality_score": 0.0098,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "572233",
"espn_id": 32758,
"player_name": "Christian Walker",
"team": "HOU",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 83,
"gp_value": 90.0,
"gp_rank": 6,
"ab_value": 336.0,
"ab_rank": 21,
"r_value": 47.0,
"r_rank": 50,
"h_value": 80.0,
"h_rank": 72,
"avg_value": 0.2380952,
"avg_rank": 117.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 20.0,
"hr_rank": 11,
"rbi_value": 57.0,
"rbi_rank": 15,
"tb_value": 158.0,
"tb_rank": 344,
"bb_value": 31.0,
"bb_rank": 81,
"so_value": 85.0,
"so_rank": 42,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3109919,
"obp_rank": "119",
"slg_value": 0.470238,
"slg_rank": "44",
"ops_value": 0.7812299,
"ops_rank": 163.0,
"war_value": 1.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 22.8,
"bb_percent": 8.3,
"woba": 0.337,
"xwoba": 0.302,
"xba": 0.225,
"xslg": 0.391,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 14.6,
"whiff_percent": 29.1,
"swing_percent": 49.8
},
"components": {
"expected_quality": 0.1741,
"regression_edge": -1.0,
"xwoba_edge": 0.0,
"xba_edge": -0.4,
"xslg_edge": 0.2643,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.7786,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670541",
"espn_id": 36018,
"player_name": "Yordan Alvarez",
"team": "HOU",
"role": "batter",
"espn_rank": 7,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 7,
"gp_value": 90.0,
"gp_rank": 6,
"ab_value": 325.0,
"ab_rank": 43,
"r_value": 62.0,
"r_rank": 2,
"h_value": 104.0,
"h_rank": 3,
"avg_value": 0.32,
"avg_rank": 4.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 29.0,
"hr_rank": 2,
"rbi_value": 67.0,
"rbi_rank": 1,
"tb_value": 207.0,
"tb_rank": 490,
"bb_value": 59.0,
"bb_rank": 6,
"so_value": 67.0,
"so_rank": 104,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.4285714,
"obp_rank": "1",
"slg_value": 0.636923,
"slg_rank": "1",
"ops_value": 1.0654944,
"ops_rank": 2.0,
"war_value": 4.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 234.0,
"k_percent": 17.1,
"bb_percent": 15.1,
"woba": 0.443,
"xwoba": 0.477,
"xba": 0.337,
"xslg": 0.718,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 19.3,
"hard_hit_percent": 53.6,
"exit_velocity_avg": 94.7,
"launch_angle_avg": 19.9,
"whiff_percent": 19.1,
"swing_percent": 43.3
},
"components": {
"expected_quality": 2.3843,
"regression_edge": 0.9714,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.1929,
"exit_velocity_edge": 2.36,
"sweet_spot_edge": 1.6,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "664774",
"player_name": "LaMonte Wade Jr.",
"offense_factor": 0.956,
"quality_score": -0.5861,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664774",
"espn_id": 37798,
"player_name": "LaMonte Wade Jr.",
"team": "HOU",
"role": "batter",
"espn_rank": 407,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 407,
"gp_value": 6.0,
"gp_rank": 551,
"ab_value": 18.0,
"ab_rank": 532,
"r_value": 2.0,
"r_rank": 497,
"h_value": 4.0,
"h_rank": 501,
"avg_value": 0.2222222,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 417,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 4.0,
"rbi_rank": 451,
"tb_value": 9.0,
"tb_rank": 2540,
"bb_value": 1.0,
"bb_rank": 496,
"so_value": 6.0,
"so_rank": 515,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2631578,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.7631578,
"ops_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 31.6,
"bb_percent": 5.3,
"woba": 0.324,
"xwoba": 0.222,
"xba": 0.159,
"xslg": 0.307,
"sweet_spot_percent": 41.7,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 3.7,
"whiff_percent": 28.6,
"swing_percent": 47.3
},
"components": {
"expected_quality": -1.1888,
"regression_edge": -2.0,
"xwoba_edge": -2.2857,
"xba_edge": -2.2857,
"xslg_edge": -0.9357,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.4929,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": 1.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "670623",
"player_name": "Isaac Paredes",
"offense_factor": 1.0002,
"quality_score": 0.0025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670623",
"espn_id": 39706,
"player_name": "Isaac Paredes",
"team": "HOU",
"role": "batter",
"espn_rank": 66,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 66,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 307.0,
"ab_rank": 83,
"r_value": 36.0,
"r_rank": 121,
"h_value": 78.0,
"h_rank": 81,
"avg_value": 0.2540716,
"avg_rank": 82.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 12.0,
"hr_rank": 80,
"rbi_value": 47.0,
"rbi_rank": 47,
"tb_value": 130.0,
"tb_rank": 820,
"bb_value": 33.0,
"bb_rank": 70,
"so_value": 55.0,
"so_rank": 158,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3483146,
"obp_rank": "47",
"slg_value": 0.4234527,
"slg_rank": "85",
"ops_value": 0.7717673,
"ops_rank": 38.0,
"war_value": 2.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 208.0,
"k_percent": 15.4,
"bb_percent": 9.3,
"woba": 0.342,
"xwoba": 0.32,
"xba": 0.243,
"xslg": 0.373,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 30.2,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 24.0,
"whiff_percent": 16.7,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.1054,
"regression_edge": -0.6286,
"xwoba_edge": 0.5143,
"xba_edge": 0.1143,
"xslg_edge": 0.0071,
"barrel_edge": -0.1556,
"hard_hit_edge": -1.15,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "514888",
"player_name": "Jose Altuve",
"offense_factor": 0.9773,
"quality_score": -0.3022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "514888",
"espn_id": 31662,
"player_name": "Jose Altuve",
"team": "HOU",
"role": "batter",
"espn_rank": 393,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 393,
"gp_value": 68.0,
"gp_rank": 191,
"ab_value": 259.0,
"ab_rank": 132,
"r_value": 41.0,
"r_rank": 92,
"h_value": 61.0,
"h_rank": 141,
"avg_value": 0.2355212,
"avg_rank": 119.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 8.0,
"hr_rank": 135,
"rbi_value": 22.0,
"rbi_rank": 232,
"tb_value": 100.0,
"tb_rank": 838,
"bb_value": 29.0,
"bb_rank": 98,
"so_value": 63.0,
"so_rank": 123,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3137931,
"obp_rank": "113",
"slg_value": 0.3861003,
"slg_rank": "113",
"ops_value": 0.6998934,
"ops_rank": 226.0,
"war_value": -0.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 21.6,
"bb_percent": 10.0,
"woba": 0.309,
"xwoba": 0.292,
"xba": 0.231,
"xslg": 0.344,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 31.8,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 8.6,
"whiff_percent": 24.4,
"swing_percent": 46.5
},
"components": {
"expected_quality": -0.3504,
"regression_edge": -0.4857,
"xwoba_edge": -0.2857,
"xba_edge": -0.2286,
"xslg_edge": -0.4071,
"barrel_edge": -0.2,
"hard_hit_edge": -0.9214,
"exit_velocity_edge": -1.28,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "701358",
"player_name": "Cam Smith",
"offense_factor": 1.065,
"quality_score": 0.8667,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701358",
"espn_id": 5080766,
"player_name": "Cam Smith",
"team": "HOU",
"role": "batter",
"espn_rank": 130,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 130,
"gp_value": 90.0,
"gp_rank": 6,
"ab_value": 303.0,
"ab_rank": 90,
"r_value": 36.0,
"r_rank": 121,
"h_value": 67.0,
"h_rank": 120,
"avg_value": 0.2211221,
"avg_rank": 142.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 11.0,
"hr_rank": 86,
"rbi_value": 32.0,
"rbi_rank": 142,
"tb_value": 115.0,
"tb_rank": 670,
"bb_value": 28.0,
"bb_rank": 110,
"so_value": 83.0,
"so_rank": 49,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.2928994,
"obp_rank": "144",
"slg_value": 0.3795379,
"slg_rank": "121",
"ops_value": 0.6724373,
"ops_rank": 265.0,
"war_value": 1.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 24.5,
"bb_percent": 8.3,
"woba": 0.297,
"xwoba": 0.339,
"xba": 0.253,
"xslg": 0.462,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 11.6,
"whiff_percent": 29.3,
"swing_percent": 47.3
},
"components": {
"expected_quality": 0.8604,
"regression_edge": 1.2,
"xwoba_edge": 1.0571,
"xba_edge": 0.4,
"xslg_edge": 1.2786,
"barrel_edge": 1.1778,
"hard_hit_edge": 0.9357,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "673237",
"player_name": "Yainer Diaz",
"offense_factor": 0.9852,
"quality_score": -0.1978,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673237",
"espn_id": 4781491,
"player_name": "Yainer Diaz",
"team": "HOU",
"role": "batter",
"espn_rank": 495,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 495,
"gp_value": 39.0,
"gp_rank": 346,
"ab_value": 149.0,
"ab_rank": 282,
"r_value": 13.0,
"r_rank": 343,
"h_value": 35.0,
"h_rank": 274,
"avg_value": 0.2348993,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 244,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 19.0,
"rbi_rank": 255,
"tb_value": 54.0,
"tb_rank": 1705,
"bb_value": 5.0,
"bb_rank": 410,
"so_value": 26.0,
"so_rank": 340,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2611464,
"obp_rank": "-",
"slg_value": 0.3624161,
"slg_rank": "-",
"ops_value": 0.6235625,
"ops_rank": null,
"war_value": -0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 106.0,
"k_percent": 16.6,
"bb_percent": 3.2,
"woba": 0.271,
"xwoba": 0.277,
"xba": 0.247,
"xslg": 0.356,
"sweet_spot_percent": 25.6,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 31.2,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 4.7,
"whiff_percent": 21.7,
"swing_percent": 56.1
},
"components": {
"expected_quality": -0.5053,
"regression_edge": 0.1714,
"xwoba_edge": -0.7143,
"xba_edge": 0.2286,
"xslg_edge": -0.2357,
"barrel_edge": -0.4889,
"hard_hit_edge": -1.0071,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -1.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "669699",
"player_name": "Braden Shewmake",
"offense_factor": 0.9912,
"quality_score": -0.1175,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669699",
"espn_id": 42408,
"player_name": "Braden Shewmake",
"team": "HOU",
"role": "batter",
"espn_rank": 265,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 265,
"gp_value": 28.0,
"gp_rank": 395,
"ab_value": 74.0,
"ab_rank": 404,
"r_value": 8.0,
"r_rank": 401,
"h_value": 18.0,
"h_rank": 382,
"avg_value": 0.2432432,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 377,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 8.0,
"rbi_rank": 384,
"tb_value": 30.0,
"tb_rank": 2066,
"bb_value": 2.0,
"bb_rank": 470,
"so_value": 13.0,
"so_rank": 454,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2597402,
"obp_rank": "-",
"slg_value": 0.4054054,
"slg_rank": "-",
"ops_value": 0.6651456,
"ops_rank": null,
"war_value": 0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 71.0,
"k_percent": 16.5,
"bb_percent": 2.5,
"woba": 0.286,
"xwoba": 0.281,
"xba": 0.236,
"xslg": 0.388,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 35.9,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 13.7,
"whiff_percent": 22.4,
"swing_percent": 62.4
},
"components": {
"expected_quality": -0.2804,
"regression_edge": -0.1429,
"xwoba_edge": -0.6,
"xba_edge": -0.0857,
"xslg_edge": 0.2214,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.3357,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -1.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "694728",
"player_name": "Brice Matthews",
"offense_factor": 0.9732,
"quality_score": -0.3567,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694728",
"espn_id": 4838117,
"player_name": "Brice Matthews",
"team": "HOU",
"role": "batter",
"espn_rank": 306,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 306,
"gp_value": 76.0,
"gp_rank": 148,
"ab_value": 194.0,
"ab_rank": 222,
"r_value": 20.0,
"r_rank": 251,
"h_value": 37.0,
"h_rank": 260,
"avg_value": 0.1907216,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 306,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 18.0,
"rbi_rank": 272,
"tb_value": 62.0,
"tb_rank": 1328,
"bb_value": 14.0,
"bb_rank": 255,
"so_value": 68.0,
"so_rank": 96,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.2440191,
"obp_rank": "-",
"slg_value": 0.3195876,
"slg_rank": "-",
"ops_value": 0.5636067,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 32.2,
"bb_percent": 6.6,
"woba": 0.25,
"xwoba": 0.262,
"xba": 0.192,
"xslg": 0.344,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 12.2,
"whiff_percent": 36.7,
"swing_percent": 46.0
},
"components": {
"expected_quality": -0.6682,
"regression_edge": 0.3429,
"xwoba_edge": -1.1429,
"xba_edge": -1.3429,
"xslg_edge": -0.4071,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.0357,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | True | 682 | -0.2693 | 0.9880 | 1.0229 | 0.9577 | 0.9881 | 1.0297 | positive_pitcher_regression | 0.3320 | 0.3680 | 18.10 | 8.30 | 22.50 | 8.30 | 37.70 | |
| Home WAS | True | 662 | -0.4561 | 0.8680 | 1.0388 | 0.8998 | 0.9288 | 1.0535 | neutral | 0.3370 | 0.3370 | 13.20 | 4.80 | 14.70 | 9 | 40.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home WAS | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0337 |
| home_runs_vs_away_pitcher | 1.0226 |
| home_pitcher_quality_edge | -0.1868 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "571945",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 217.0,
"k_percent": 13.2,
"bb_percent": 4.8,
"woba": 0.337,
"xwoba": 0.337,
"sweet_spot_percent": 33.4,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 40.3,
"avg_best_speed": 78.5737,
"avg_hyper_speed": 94.7657,
"whiff_percent": 14.7,
"swing_percent": 48.1
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.5021,
"command_and_miss": -0.9393,
"regression_edge": 0.0,
"xwoba_edge": -0.6857,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.2714,
"whiff_edge": -1.5429,
"bb_edge": 1.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "571945",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.4561,
"sample_weight": 0.868,
"run_prevention_factor": 1.0388,
"strikeout_factor": 0.8998,
"walk_factor": 0.9288,
"homer_factor": 1.0535,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571945",
"espn_id": 32116,
"player_name": "Miles Mikolas",
"team": "WSH",
"role": "pitcher",
"espn_rank": 662,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 662,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 7.0,
"gs_rank": 156,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 5.4426,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 84.1,
"ip_rank": 75,
"h_value": 92.0,
"h_rank": 31,
"er_value": 51.0,
"er_rank": 12,
"hr_value": 18.0,
"hr_rank": 11,
"bb_value": 17.0,
"bb_rank": 207,
"k_value": 47.0,
"k_rank": 162,
"k_per_9_value": 5.0158105,
"k_per_9_rank": 58.0,
"whip_value": 1.2924,
"whip_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "681347",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 18.1,
"bb_percent": 8.3,
"woba": 0.368,
"xwoba": 0.332,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.7,
"avg_best_speed": 76.8352,
"avg_hyper_speed": 93.7306,
"whiff_percent": 22.5,
"swing_percent": 49.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.4805,
"command_and_miss": -0.4093,
"regression_edge": 1.0286,
"xwoba_edge": -0.5429,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.1,
"whiff_edge": -0.4286,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681347",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2693,
"sample_weight": 0.988,
"run_prevention_factor": 1.0229,
"strikeout_factor": 0.9577,
"walk_factor": 0.9881,
"homer_factor": 1.0297,
"woba_minus_xwoba": 0.036,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681347",
"espn_id": 4918155,
"player_name": "Mike Burrows",
"team": "HOU",
"role": "pitcher",
"espn_rank": 682,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 682,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 16.0,
"gs_rank": 62,
"qs_value": 4.0,
"qs_rank": 87,
"era_value": 5.5793,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 8.0,
"l_rank": 4,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 90.1,
"ip_rank": 60,
"h_value": 103.0,
"h_rank": 8,
"er_value": 56.0,
"er_rank": 7,
"hr_value": 19.0,
"hr_rank": 7,
"bb_value": 33.0,
"bb_rank": 33,
"k_value": 72.0,
"k_rank": 83,
"k_per_9_value": 7.173432,
"k_per_9_rank": 37.0,
"whip_value": 1.5055,
"whip_rank": null,
"war_value": -0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0337,
"home_runs_vs_away_pitcher": 1.0226,
"home_pitcher_quality_edge": -0.1868
},
"score_before": {
"away_runs": 6.2086,
"home_runs": 5.8162
},
"score_after": {
"away_runs": 6.4177,
"home_runs": 5.9478,
"home_win_probability": 0.4567
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away HOU | 6-4 | 0.600 | 4.20 | 4.70 | -5 | average | average | |
| Home WAS | 5-5 | 0.500 | 5 | 4.80 | 2 | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away HOU | 45-47 | 0.489 | -44 | -0.478 | True |
| Home WAS | 46-45 | 0.505 | 9 | 0.099 | True |
| Signal | - | - | 0.577 | 0.602 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target HOU | - | - | 4 | - | - | - | - |
| Game target WAS | - | - | 5 | - | - | - | - |
| Player finalized HOU | 32 | 8 | 3 | 0 | 4 | 1 | 9 |
| Player finalized WAS | 31 | 9 | 6 | 0 | 4 | 1 | 8 |
| Player model fractional HOU | 32.06 | 7.35 | 4.02 | 1.32 | 4.19 | 2.68 | 7.30 |
| Player model fractional WAS | 32.22 | 7.48 | 5.02 | 1.30 | 4.25 | 3.24 | 7.64 |
| Simulation box HOU | 34 | 7 | 3 | 1 | 3 | 2 | 8 |
| Simulation box WAS | 32 | 8 | 5 | 2 | 5 | 1 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | Starter | Mike Burrows | 4 | 5 | 1 | 7 | 0 | 5.18 | 1.40 | True |
| Away HOU | Middle Reliever | Bryan King | 1 | 0 | 1 | 0 | 0 | 2.23 | 0.98 | True |
| Away HOU | Middle Reliever | Josh Hader | 1 | 0 | 1 | 0 | 0 | 3.01 | 1.15 | True |
| Away HOU | Middle Reliever | Steven Okert | 0.20 | 0 | 0 | 0 | 0 | 3.39 | 0.92 | True |
| Away HOU | Middle Reliever | AJ Blubaugh | 1.10 | 0 | 3 | 0 | 0 | 2.39 | 1.11 | True |
| Away HOU | Middle Reliever | Bryan Abreu | 0 | 0 | 0 | 1 | 1 | 4.30 | 1.14 | True |
| Home WAS | Starter | Miles Mikolas | 4.20 | 3 | 4 | 6 | 2 | 4.23 | 1.18 | True |
| Home WAS | Middle Reliever | Brad Lord | 1.10 | 0 | 2 | 0 | 0 | 6.77 | 1.66 | True |
| Home WAS | Middle Reliever | Orlando Ribalta | 1.10 | 0 | 0 | 0 | 0 | 4.81 | 1.38 | True |
| Home WAS | Middle Reliever | PJ Poulin | 1 | 0 | 0 | 1 | 0 | 2.97 | 1.09 | True |
| Home WAS | Middle Reliever | Clayton Beeter | 0.20 | 0 | 2 | 0 | 0 | 3.12 | 1.26 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | WAS | batter | LF | Daylen Lile | better | 9 | 7 | 2 | 6 | 3 | predicted_RBI | 2.4800 | boost | better |
| away | HOU | batter | SS | Braden Shewmake | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 2.4580 | boost | worse |
| away | HOU | batter | DH | Yordan Alvarez | better | 11 | 9 | 2 | 8 | 3 | predicted_H | 1.8500 | boost | better |
| home | WAS | batter | CF | Jacob Young | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.4400 | deboost | worse |
| home | WAS | batter | SS | CJ Abrams | better | 9 | 7 | 2 | 6 | 3 | predicted_RBI | 1.4100 | boost | better |
| home | WAS | batter | DH | James Wood | better | 11 | 5 | 6 | 6 | 5 | predicted_SO | -1.3740 | deboost | better |
| away | HOU | pitcher | Starter | Mike Burrows | neutral | 2 | 1 | 1 | 1 | 1 | predicted_IP | -1.3333 | deboost | worse |
| away | HOU | batter | CF | Brice Matthews | worse | 10 | 1 | 9 | 1 | 9 | predicted_AB | 1.1640 | boost | better |
| home | WAS | batter | 2B | Nasim Nuñez | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.1150 | boost | worse |
| away | HOU | batter | 1B | Christian Walker | better | 10 | 6 | 4 | 7 | 3 | predicted_H | 1.0600 | boost | better |
| away | HOU | batter | RF | Cam Smith | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.0570 | boost | worse |
| away | HOU | batter | LF | LaMonte Wade Jr. | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -1.0000 | deboost | better |
| away | HOU | pitcher | Middle Reliever | AJ Blubaugh | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| away | HOU | pitcher | Middle Reliever | Bryan Abreu | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | WAS | batter | RF | Dylan Crews | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -0.9700 | deboost | worse |
| away | HOU | batter | 3B | Isaac Paredes | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -0.9600 | deboost | worse |
| away | HOU | batter | 2B | Jose Altuve | worse | 9 | 1 | 8 | 2 | 7 | predicted_SO | -0.9260 | deboost | better |
| away | HOU | batter | C | Yainer Diaz | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8500 | deboost | worse |
| home | WAS | batter | C | Drew Millas | worse | 10 | 0 | 10 | 1 | 9 | predicted_SO | -0.8290 | deboost | better |
| home | WAS | batter | 3B | Curtis Mead | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 0.7970 | boost | better |
| home | WAS | batter | 1B | Luis García Jr. | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 0.6670 | boost | better |
| away | HOU | pitcher | Middle Reliever | Steven Okert | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | WAS | pitcher | Starter | Miles Mikolas | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | WAS | pitcher | Middle Reliever | Clayton Beeter | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | WAS | pitcher | Middle Reliever | Brad Lord | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | WAS | pitcher | Middle Reliever | Orlando Ribalta | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Mike Burrows |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2693 |
| ESPN Rank | 682 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4 |
| Pre ER | 5 |
| Pre H | 7 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 5.5793 |
| Season WHIP | 1.5055 |
| Role Avg IP | 5.5830 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"opponent": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"edges": {
"quality_edge": -0.0185,
"offense_edge": -0.0209,
"opponent_offense_edge": 0.1185,
"defense_strength": -0.0707,
"opponent_defense_weakness": 0.1114,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9924,
"run_prevention": 1.027,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681347",
"profile": {
"available": true,
"pitcher_id": "681347",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 18.1,
"bb_percent": 8.3,
"woba": 0.368,
"xwoba": 0.332,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.7,
"avg_best_speed": 76.8352,
"avg_hyper_speed": 93.7306,
"whiff_percent": 22.5,
"swing_percent": 49.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.4805,
"command_and_miss": -0.4093,
"regression_edge": 1.0286,
"xwoba_edge": -0.5429,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.1,
"whiff_edge": -0.4286,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681347",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2693,
"sample_weight": 0.988,
"run_prevention_factor": 1.0229,
"strikeout_factor": 0.9577,
"walk_factor": 0.9881,
"homer_factor": 1.0297,
"woba_minus_xwoba": 0.036,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681347",
"espn_id": 4918155,
"player_name": "Mike Burrows",
"team": "HOU",
"role": "pitcher",
"espn_rank": 682,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 682,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 16.0,
"gs_rank": 62,
"qs_value": 4.0,
"qs_rank": 87,
"era_value": 5.5793,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 8.0,
"l_rank": 4,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 90.1,
"ip_rank": 60,
"h_value": 103.0,
"h_rank": 8,
"er_value": 56.0,
"er_rank": 7,
"hr_value": 19.0,
"hr_rank": 7,
"bb_value": 33.0,
"bb_rank": 33,
"k_value": 72.0,
"k_rank": 83,
"k_per_9_value": 7.173432,
"k_per_9_rank": 37.0,
"whip_value": 1.5055,
"whip_rank": null,
"war_value": -0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0226,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 1.0226,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9882,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0293,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9582,
"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.2,
"ER": 31,
"H": 54,
"BB": 20,
"SO": 36,
"HR": 11,
"ERA": 5.2974683544303796,
"WHIP": 1.4050632911392407,
"K9": 6.151898734177215,
"HR9": 1.879746835443038,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-30T00:00:00"
}{
"available": false,
"pitcher_id": "681347",
"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": "681347",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.0,
"ER": 13.0,
"R": 15.0,
"H": 24.0,
"BB": 7.0,
"SO": 15.0,
"HR": 4.0,
"BF": 98.0,
"Pitches": 379.0
},
"per_game": {
"IP": 4.1,
"ER": 2.6,
"R": 3.0,
"H": 4.8,
"BB": 1.4,
"SO": 3.0,
"HR": 0.8,
"BF": 19.6,
"Pitches": 75.8
},
"rates": {
"ERA": 5.3182,
"WHIP": 1.4091,
"ER_per_IP": 0.59091,
"H_per_IP": 1.09091,
"BB_per_IP": 0.31818,
"SO_per_IP": 0.68182,
"HR_per_IP": 0.18182
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.2,
"ER": 31.0,
"R": 34.0,
"H": 54.0,
"BB": 20.0,
"SO": 36.0,
"HR": 11.0,
"BF": 229.0,
"Pitches": 848.0
},
"per_game": {
"IP": 5.1,
"ER": 3.1,
"R": 3.4,
"H": 5.4,
"BB": 2.0,
"SO": 3.6,
"HR": 1.1,
"BF": 22.9,
"Pitches": 84.8
},
"rates": {
"ERA": 5.2975,
"WHIP": 1.4051,
"ER_per_IP": 0.58861,
"H_per_IP": 1.02532,
"BB_per_IP": 0.37975,
"SO_per_IP": 0.68354,
"HR_per_IP": 0.20886
}
},
"season": {
"games": 17,
"totals": {
"IP": 90.1,
"ER": 56.0,
"R": 59.0,
"H": 103.0,
"BB": 33.0,
"SO": 72.0,
"HR": 19.0,
"BF": 398.0,
"Pitches": 1484.0
},
"per_game": {
"IP": 5.1,
"ER": 3.2941,
"R": 3.4706,
"H": 6.0588,
"BB": 1.9412,
"SO": 4.2353,
"HR": 1.1176,
"BF": 23.4118,
"Pitches": 87.2941
},
"rates": {
"ERA": 5.5793,
"WHIP": 1.5055,
"ER_per_IP": 0.61993,
"H_per_IP": 1.14022,
"BB_per_IP": 0.36531,
"SO_per_IP": 0.79705,
"HR_per_IP": 0.21033
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.867,
"predicted_H": 5.251,
"predicted_BB": 1.75,
"predicted_SO": 3.799,
"predicted_HR": 0.928,
"predicted_ERA": 5.1753,
"predicted_WHIP": 1.4042
}
}{
"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.1,
"form": 5.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.867,
"final": 3.8184,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.251,
"final": 6.0311,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.75,
"final": 0.9694,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 3.799,
"final": 2.1045,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.928,
"final": 1.4061,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1753,
"final": 5.1753,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4042,
"final": 1.4042,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan King |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0990 |
| ESPN Rank | 67 |
| 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.0769 |
| Season WHIP | 1.1795 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"opponent": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"edges": {
"quality_edge": -0.0185,
"offense_edge": -0.0209,
"opponent_offense_edge": 0.1185,
"defense_strength": -0.0707,
"opponent_defense_weakness": 0.1114,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9924,
"run_prevention": 1.027,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687911",
"profile": {
"available": true,
"pitcher_id": "687911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 18.5,
"bb_percent": 8.6,
"woba": 0.272,
"xwoba": 0.289,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 1.8,
"hard_hit_percent": 36.0,
"avg_best_speed": 75.6965,
"avg_hyper_speed": 93.024,
"whiff_percent": 18.2,
"swing_percent": 49.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.7643,
"command_and_miss": -0.6136,
"regression_edge": -0.4857,
"xwoba_edge": 0.6857,
"barrel_edge": 1.2222,
"hard_hit_edge": 0.3429,
"whiff_edge": -1.0429,
"bb_edge": 0.075,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.099,
"sample_weight": 0.45,
"run_prevention_factor": 0.9916,
"strikeout_factor": 0.9707,
"walk_factor": 0.9973,
"homer_factor": 0.9406,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687911",
"espn_id": 5201821,
"player_name": "Bryan King",
"team": "HOU",
"role": "pitcher",
"espn_rank": 67,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 67,
"gp_value": 37.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.0769,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 6.0,
"sv_rank": 27,
"hld_value": 11.0,
"hld_rank": 27,
"ip_value": 39.0,
"ip_rank": 222,
"h_value": 32.0,
"h_rank": 249,
"er_value": 9.0,
"er_rank": 419,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 14.0,
"bb_rank": 256,
"k_value": 30.0,
"k_rank": 309,
"k_per_9_value": 6.9230766,
"k_per_9_rank": 37.0,
"whip_value": 1.1794,
"whip_rank": null,
"war_value": 1.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9962,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9962,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9733,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9868,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 1,
"H": 5,
"BB": 2,
"SO": 7,
"HR": 0,
"ERA": 0.9310344827586208,
"WHIP": 0.7241379310344828,
"K9": 6.517241379310345,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "687911",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6074,
"prior_weight": 0.3926
},
"role": "pitcher",
"player_id": "687911",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 63.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.4,
"Pitches": 12.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 127.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.2,
"SO": 0.7,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.7
},
"rates": {
"ERA": 0.931,
"WHIP": 0.7241,
"ER_per_IP": 0.10345,
"H_per_IP": 0.51724,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.72414,
"HR_per_IP": 0.0
}
},
"season": {
"games": 37,
"totals": {
"IP": 39.0,
"ER": 9.0,
"R": 11.0,
"H": 32.0,
"BB": 14.0,
"SO": 30.0,
"HR": 1.0,
"BF": 162.0,
"Pitches": 638.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2432,
"R": 0.2973,
"H": 0.8649,
"BB": 0.3784,
"SO": 0.8108,
"HR": 0.027,
"BF": 4.3784,
"Pitches": 17.2432
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.1795,
"ER_per_IP": 0.23077,
"H_per_IP": 0.82051,
"BB_per_IP": 0.35897,
"SO_per_IP": 0.76923,
"HR_per_IP": 0.02564
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.248,
"predicted_H": 0.754,
"predicted_BB": 0.228,
"predicted_SO": 0.841,
"predicted_HR": 0.062,
"predicted_ERA": 2.2313,
"predicted_WHIP": 0.9822
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5159,
"form_weight": 0.4841,
"form_reliability": 0.6074,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6074,
"prior_weight": 0.3926
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.248,
"final": 0.1201,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.754,
"final": 0.365,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.228,
"final": 0.1104,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.841,
"final": 0.923,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.03,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2313,
"final": 2.2313,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9822,
"final": 0.9822,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Josh Hader |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.7360 |
| ESPN Rank | 125 |
| 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.6000 |
| Season WHIP | 0.6000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"opponent": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"edges": {
"quality_edge": -0.0185,
"offense_edge": -0.0209,
"opponent_offense_edge": 0.1185,
"defense_strength": -0.0707,
"opponent_defense_weakness": 0.1114,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9924,
"run_prevention": 1.027,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623352",
"profile": {
"available": true,
"pitcher_id": "623352",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 44.4,
"bb_percent": 13.0,
"woba": 0.145,
"xwoba": 0.146,
"sweet_spot_percent": 21.7,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 13.0,
"avg_best_speed": 66.3475,
"avg_hyper_speed": 90.1012,
"whiff_percent": 40.8,
"swing_percent": 54.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 2.1435,
"command_and_miss": 1.685,
"regression_edge": -0.0286,
"xwoba_edge": 2.5,
"barrel_edge": 0.6667,
"hard_hit_edge": 2.5,
"whiff_edge": 2.1857,
"bb_edge": -1.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.736,
"sample_weight": 0.45,
"run_prevention_factor": 0.9374,
"strikeout_factor": 1.0843,
"walk_factor": 1.0369,
"homer_factor": 0.8972,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623352",
"espn_id": 32760,
"player_name": "Josh Hader",
"team": "HOU",
"role": "pitcher",
"espn_rank": 125,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 125,
"gp_value": 15.0,
"gp_rank": 342,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 0.6,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 9.0,
"sv_rank": 21,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 15.0,
"ip_rank": 469,
"h_value": 2.0,
"h_rank": 672,
"er_value": 1.0,
"er_rank": 661,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 7.0,
"bb_rank": 442,
"k_value": 24.0,
"k_rank": 361,
"k_per_9_value": 14.400001,
"k_per_9_rank": 20.0,
"whip_value": 0.6,
"whip_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9718,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9718,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0166,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9537,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0379,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 2,
"BB": 6,
"SO": 17,
"HR": 1,
"ERA": 0.9,
"WHIP": 0.8,
"K9": 15.3,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.975,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.373,
"prior_weight": 0.627
},
"role": "pitcher",
"player_id": "623352",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 5.0,
"SO": 8.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 87.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 1.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 1.0,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 6.0,
"SO": 17.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.6,
"SO": 1.7,
"HR": 0.1,
"BF": 3.8,
"Pitches": 16.1
},
"rates": {
"ERA": 0.9,
"WHIP": 0.8,
"ER_per_IP": 0.1,
"H_per_IP": 0.2,
"BB_per_IP": 0.6,
"SO_per_IP": 1.7,
"HR_per_IP": 0.1
}
},
"season": {
"games": 15,
"totals": {
"IP": 15.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 7.0,
"SO": 24.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 239.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0667,
"R": 0.0667,
"H": 0.1333,
"BB": 0.4667,
"SO": 1.6,
"HR": 0.0667,
"BF": 3.6,
"Pitches": 15.9333
},
"rates": {
"ERA": 0.6,
"WHIP": 0.6,
"ER_per_IP": 0.06667,
"H_per_IP": 0.13333,
"BB_per_IP": 0.46667,
"SO_per_IP": 1.6,
"HR_per_IP": 0.06667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.334,
"predicted_H": 0.644,
"predicted_BB": 0.505,
"predicted_SO": 1.208,
"predicted_HR": 0.112,
"predicted_ERA": 3.0067,
"predicted_WHIP": 1.149
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6149,
"form_weight": 0.3851,
"form_reliability": 0.373,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.975,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.373,
"prior_weight": 0.627
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.334,
"final": 0.1286,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.644,
"final": 0.248,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.505,
"final": 0.1945,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.208,
"final": 1.0801,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.112,
"final": 0.0431,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0067,
"final": 3.0067,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.149,
"final": 1.149,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Steven Okert |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3591 |
| ESPN Rank | 88 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.4923 |
| Season WHIP | 0.8769 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"opponent": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"edges": {
"quality_edge": -0.0185,
"offense_edge": -0.0209,
"opponent_offense_edge": 0.1185,
"defense_strength": -0.0707,
"opponent_defense_weakness": 0.1114,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9924,
"run_prevention": 1.027,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "595345",
"profile": {
"available": true,
"pitcher_id": "595345",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 24.7,
"bb_percent": 7.2,
"woba": 0.246,
"xwoba": 0.258,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 27.9,
"avg_best_speed": 76.2968,
"avg_hyper_speed": 92.6344,
"whiff_percent": 28.8,
"swing_percent": 49.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.3075,
"command_and_miss": 0.385,
"regression_edge": -0.3429,
"xwoba_edge": 1.5714,
"barrel_edge": 0.6,
"hard_hit_edge": 1.5,
"whiff_edge": 0.4714,
"bb_edge": 0.425,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "595345",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3591,
"sample_weight": 0.45,
"run_prevention_factor": 0.9695,
"strikeout_factor": 1.0139,
"walk_factor": 0.9847,
"homer_factor": 0.9302,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "595345",
"espn_id": 33716,
"player_name": "Steven Okert",
"team": "HOU",
"role": "pitcher",
"espn_rank": 88,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 88,
"gp_value": 43.0,
"gp_rank": 5,
"gs_value": 1.0,
"gs_rank": 258,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.4923,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 11.0,
"hld_rank": 27,
"ip_value": 43.1,
"ip_rank": 181,
"h_value": 26.0,
"h_rank": 319,
"er_value": 12.0,
"er_rank": 336,
"hr_value": 5.0,
"hr_rank": 207,
"bb_value": 12.0,
"bb_rank": 299,
"k_value": 41.0,
"k_rank": 205,
"k_per_9_value": 8.515385,
"k_per_9_rank": 30.0,
"whip_value": 0.8769,
"whip_rank": null,
"war_value": 1.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9863,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9863,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9931,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9686,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0063,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 2,
"H": 5,
"BB": 2,
"SO": 13,
"HR": 2,
"ERA": 1.7419354838709677,
"WHIP": 0.6774193548387096,
"K9": 11.32258064516129,
"HR9": 1.7419354838709677,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "595345",
"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.594,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6322,
"prior_weight": 0.3678
},
"role": "pitcher",
"player_id": "595345",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 1.0,
"SO": 5.0,
"HR": 2.0,
"BF": 18.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.4,
"BF": 3.6,
"Pitches": 16.0
},
"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": 1.0,
"HR_per_IP": 0.4
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 13.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 164.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.2,
"SO": 1.3,
"HR": 0.2,
"BF": 3.8,
"Pitches": 16.4
},
"rates": {
"ERA": 1.7419,
"WHIP": 0.6774,
"ER_per_IP": 0.19355,
"H_per_IP": 0.48387,
"BB_per_IP": 0.19355,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 43,
"totals": {
"IP": 43.1,
"ER": 12.0,
"R": 12.0,
"H": 26.0,
"BB": 12.0,
"SO": 41.0,
"HR": 5.0,
"BF": 166.0,
"Pitches": 663.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2791,
"R": 0.2791,
"H": 0.6047,
"BB": 0.2791,
"SO": 0.9535,
"HR": 0.1163,
"BF": 3.8605,
"Pitches": 15.4186
},
"rates": {
"ERA": 2.4923,
"WHIP": 0.8769,
"ER_per_IP": 0.27692,
"H_per_IP": 0.6,
"BB_per_IP": 0.27692,
"SO_per_IP": 0.94615,
"HR_per_IP": 0.11538
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.331,
"predicted_H": 0.573,
"predicted_BB": 0.233,
"predicted_SO": 0.907,
"predicted_HR": 0.198,
"predicted_ERA": 3.3933,
"predicted_WHIP": 0.9195
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5054,
"form_weight": 0.4946,
"form_reliability": 0.6322,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.594,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6322,
"prior_weight": 0.3678
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.331,
"final": 0.1637,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.573,
"final": 0.2834,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.233,
"final": 0.1152,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.907,
"final": 0.4486,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.198,
"final": 0.0979,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3933,
"final": 3.3933,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9195,
"final": 0.9195,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | AJ Blubaugh |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0280 |
| ESPN Rank | 169 |
| 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 | 3 |
| Season ERA | 3.3550 |
| Season WHIP | 1.2249 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"opponent": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"edges": {
"quality_edge": -0.0185,
"offense_edge": -0.0209,
"opponent_offense_edge": 0.1185,
"defense_strength": -0.0707,
"opponent_defense_weakness": 0.1114,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9924,
"run_prevention": 1.027,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "805123",
"profile": {
"available": true,
"pitcher_id": "805123",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 142.0,
"k_percent": 22.5,
"bb_percent": 12.3,
"woba": 0.284,
"xwoba": 0.312,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 34.0,
"avg_best_speed": 79.7573,
"avg_hyper_speed": 93.4058,
"whiff_percent": 27.6,
"swing_percent": 47.5
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.0881,
"command_and_miss": -0.0714,
"regression_edge": -0.8,
"xwoba_edge": 0.0286,
"barrel_edge": -0.1333,
"hard_hit_edge": 0.6286,
"whiff_edge": 0.3,
"bb_edge": -0.85,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "805123",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.028,
"sample_weight": 0.568,
"run_prevention_factor": 1.0024,
"strikeout_factor": 1.0065,
"walk_factor": 1.0386,
"homer_factor": 0.9913,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805123",
"espn_id": 42556,
"player_name": "AJ Blubaugh",
"team": "HOU",
"role": "pitcher",
"espn_rank": 169,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 169,
"gp_value": 34.0,
"gp_rank": 89,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.355,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 5.0,
"hld_rank": 111,
"ip_value": 56.1,
"ip_rank": 140,
"h_value": 40.0,
"h_rank": 178,
"er_value": 21.0,
"er_rank": 180,
"hr_value": 5.0,
"hr_rank": 207,
"bb_value": 29.0,
"bb_rank": 70,
"k_value": 53.0,
"k_rank": 138,
"k_per_9_value": 8.467456,
"k_per_9_rank": 26.0,
"whip_value": 1.2248,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0014,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0014,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0219,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0037,
"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": 18.2,
"ER": 2,
"H": 11,
"BB": 8,
"SO": 22,
"HR": 0,
"ERA": 0.9642857142857144,
"WHIP": 1.017857142857143,
"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": "805123",
"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": 11.172,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6908,
"prior_weight": 0.3092
},
"role": "pitcher",
"player_id": "805123",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 2.0,
"SO": 12.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 154.0
},
"per_game": {
"IP": 2.0,
"ER": 0.2,
"R": 0.2,
"H": 1.4,
"BB": 0.4,
"SO": 2.4,
"HR": 0.0,
"BF": 7.6,
"Pitches": 30.8
},
"rates": {
"ERA": 0.931,
"WHIP": 0.931,
"ER_per_IP": 0.10345,
"H_per_IP": 0.72414,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 18.2,
"ER": 2.0,
"R": 3.0,
"H": 11.0,
"BB": 8.0,
"SO": 22.0,
"HR": 0.0,
"BF": 74.0,
"Pitches": 309.0
},
"per_game": {
"IP": 2.0,
"ER": 0.2,
"R": 0.3,
"H": 1.1,
"BB": 0.8,
"SO": 2.2,
"HR": 0.0,
"BF": 7.4,
"Pitches": 30.9
},
"rates": {
"ERA": 0.9643,
"WHIP": 1.0179,
"ER_per_IP": 0.10714,
"H_per_IP": 0.58929,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 34,
"totals": {
"IP": 56.1,
"ER": 21.0,
"R": 22.0,
"H": 40.0,
"BB": 29.0,
"SO": 53.0,
"HR": 5.0,
"BF": 236.0,
"Pitches": 963.0
},
"per_game": {
"IP": 1.2,
"ER": 0.6176,
"R": 0.6471,
"H": 1.1765,
"BB": 0.8529,
"SO": 1.5588,
"HR": 0.1471,
"BF": 6.9412,
"Pitches": 28.3235
},
"rates": {
"ERA": 3.355,
"WHIP": 1.2249,
"ER_per_IP": 0.37278,
"H_per_IP": 0.71006,
"BB_per_IP": 0.51479,
"SO_per_IP": 0.94083,
"HR_per_IP": 0.08876
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.382,
"predicted_H": 1.101,
"predicted_BB": 0.503,
"predicted_SO": 1.577,
"predicted_HR": 0.084,
"predicted_ERA": 2.3888,
"predicted_WHIP": 1.115
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4806,
"form_weight": 0.5194,
"form_reliability": 0.6908,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.172,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6908,
"prior_weight": 0.3092
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.1,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.382,
"final": 0.1984,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.101,
"final": 0.5718,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.503,
"final": 0.2612,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.577,
"final": 2.2609,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.084,
"final": 0.0436,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3888,
"final": 2.3888,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.115,
"final": 1.115,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Abreu |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2428 |
| ESPN Rank | 621 |
| 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 | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 5.8966 |
| Season WHIP | 1.6207 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"opponent": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"edges": {
"quality_edge": -0.0185,
"offense_edge": -0.0209,
"opponent_offense_edge": 0.1185,
"defense_strength": -0.0707,
"opponent_defense_weakness": 0.1114,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9924,
"run_prevention": 1.027,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "650556",
"profile": {
"available": true,
"pitcher_id": "650556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 27.6,
"bb_percent": 18.7,
"woba": 0.383,
"xwoba": 0.352,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 50.7,
"avg_best_speed": 83.7325,
"avg_hyper_speed": 95.3829,
"whiff_percent": 32.2,
"swing_percent": 39.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -1.199,
"command_and_miss": 0.1664,
"regression_edge": 0.8857,
"xwoba_edge": -1.1143,
"barrel_edge": -0.3111,
"hard_hit_edge": -1.7571,
"whiff_edge": 0.9571,
"bb_edge": -2.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "650556",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2428,
"sample_weight": 0.45,
"run_prevention_factor": 1.0206,
"strikeout_factor": 1.0301,
"walk_factor": 1.0882,
"homer_factor": 1.0579,
"woba_minus_xwoba": 0.031,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "650556",
"espn_id": 41208,
"player_name": "Bryan Abreu",
"team": "HOU",
"role": "pitcher",
"espn_rank": 621,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 621,
"gp_value": 32.0,
"gp_rank": 106,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 5.8965,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 5.0,
"sv_rank": 32,
"hld_value": 5.0,
"hld_rank": 111,
"ip_value": 29.0,
"ip_rank": 337,
"h_value": 24.0,
"h_rank": 343,
"er_value": 19.0,
"er_rank": 197,
"hr_value": 7.0,
"hr_rank": 149,
"bb_value": 25.0,
"bb_rank": 101,
"k_value": 37.0,
"k_rank": 234,
"k_per_9_value": 11.4827585,
"k_per_9_rank": 18.0,
"whip_value": 1.6896,
"whip_rank": null,
"war_value": -0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0093,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0397,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0261,
"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": 9.2,
"ER": 2,
"H": 5,
"BB": 2,
"SO": 12,
"HR": 2,
"ERA": 1.8620689655172415,
"WHIP": 0.7241379310344828,
"K9": 11.172413793103448,
"HR9": 1.8620689655172415,
"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": "650556",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.751,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5349,
"prior_weight": 0.4651
},
"role": "pitcher",
"player_id": "650556",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 91.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 1.2,
"HR": 0.4,
"BF": 4.2,
"Pitches": 18.2
},
"rates": {
"ERA": 3.1765,
"WHIP": 0.7059,
"ER_per_IP": 0.35294,
"H_per_IP": 0.52941,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.35294
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 3.0,
"SO": 14.0,
"HR": 3.0,
"BF": 40.0,
"Pitches": 166.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.7,
"BB": 0.3,
"SO": 1.4,
"HR": 0.3,
"BF": 4.0,
"Pitches": 16.6
},
"rates": {
"ERA": 4.2188,
"WHIP": 0.9375,
"ER_per_IP": 0.46875,
"H_per_IP": 0.65625,
"BB_per_IP": 0.28125,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.28125
}
},
"season": {
"games": 31,
"totals": {
"IP": 29.0,
"ER": 19.0,
"R": 20.0,
"H": 22.0,
"BB": 25.0,
"SO": 37.0,
"HR": 7.0,
"BF": 132.0,
"Pitches": 538.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6129,
"R": 0.6452,
"H": 0.7097,
"BB": 0.8065,
"SO": 1.1935,
"HR": 0.2258,
"BF": 4.2581,
"Pitches": 17.3548
},
"rates": {
"ERA": 5.8966,
"WHIP": 1.6207,
"ER_per_IP": 0.65517,
"H_per_IP": 0.75862,
"BB_per_IP": 0.86207,
"SO_per_IP": 1.27586,
"HR_per_IP": 0.24138
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.329,
"predicted_H": 0.54,
"predicted_BB": 0.244,
"predicted_SO": 0.746,
"predicted_HR": 0.161,
"predicted_ERA": 4.2952,
"predicted_WHIP": 1.136
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5465,
"form_weight": 0.4535,
"form_reliability": 0.5349,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.751,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5349,
"prior_weight": 0.4651
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.329,
"final": 0.1492,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.54,
"final": 0.7914,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.244,
"final": 0.6572,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.746,
"final": 0.8848,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.161,
"final": 0.073,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2952,
"final": 4.2952,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.136,
"final": 1.136,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.180 | 1.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | 0.817 | 1.000 |
| predicted_3B | 0.011 | 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.802 | 4.000 | -0.802 | -1.000 |
| predicted_AVG | 0.237 | 0.667 | 0.250 | Hitting_AVG | 0.268 | 0.250 | 0.399 | 0.417 |
| predicted_BB | 0.348 | 1.000 | 0.000 | Hitting_BB | 0.384 | 0.000 | 0.616 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.940 | 2.000 | 1.000 | Hitting_H | 1.019 | 1.000 | 0.981 | 1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.270 | 1.000 | -0.270 | -1.000 |
| predicted_OBP | 0.319 | 0.750 | 0.250 | Hitting_OBP | 0.342 | 0.250 | 0.408 | 0.500 |
| predicted_R | 0.528 | 1.000 | 1.000 | Hitting_R | 0.624 | 1.000 | 0.376 | 0.000 |
| predicted_RBI | 0.520 | 1.000 | 1.000 | Hitting_RBI | 0.753 | 1.000 | 0.247 | 0.000 |
| predicted_SLG | 0.432 | 1.000 | 0.250 | Hitting_SLG | 0.531 | 1.000 | 0.469 | 0.000 |
| predicted_SO | 0.944 | 0.000 | 1.000 | Hitting_SO | 0.825 | 2.000 | -0.825 | -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_H: 0.9400 -> 2.0000 (boost 1.0600, 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 | 3 | 2 | 1 | 1 | 2 | predicted_SO: 0.9440 -> 0.9992 (boost 0.0552, worse) | predicted_AB: 3.9700 -> 3.8014 (deboost -0.1686, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3211 -> 0.3042 (deboost -0.0169, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 3 | 4 | predicted_RBI: 0.5231 -> 1.0000 (boost 0.4769, better) | predicted_BB: 0.3475 -> 0.0000 (deboost -0.3475, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.230 HR/AB=0.050 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5134 -> 1.0000 (boost 0.4866, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2406 -> 0.2500 (boost 0.0094, better) | predicted_SLG: 0.4468 -> 0.2500 (deboost -0.1968, 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_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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4468 (boost 0.1968, better) | predicted_AVG: 0.2500 -> 0.2406 (deboost -0.0094, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "572233",
"player_name": "Christian Walker",
"position": "1B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.011,
"predicted_AB": 3.97,
"predicted_AVG": 0.237,
"predicted_BB": 0.348,
"predicted_H": 0.94,
"predicted_HR": 0.19,
"predicted_OBP": 0.319,
"predicted_R": 0.528,
"predicted_RBI": 0.52,
"predicted_SLG": 0.432,
"predicted_SO": 0.944
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.0093,
"predicted_AB": 3.8014,
"predicted_AVG": 0.2386,
"predicted_BB": 0.348,
"predicted_H": 0.9062,
"predicted_HBP": 0.095,
"predicted_HR": 0.1986,
"predicted_OBP": 0.3211,
"predicted_R": 0.5066,
"predicted_RBI": 0.5161,
"predicted_SLG": 0.4445,
"predicted_SO": 0.9992
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.165,
"delta": -0.015,
"percent_delta": -0.0833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 3.8014,
"delta": -0.1686,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2386,
"delta": 0.0016,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9062,
"delta": -0.0338,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1986,
"delta": 0.0086,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3211,
"delta": 0.0021,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 0.5066,
"delta": -0.0214,
"percent_delta": -0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5161,
"delta": -0.0039,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4445,
"delta": 0.0125,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.944,
"after": 0.9992,
"delta": 0.0552,
"percent_delta": 0.0585,
"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.944,
"after": 0.9992,
"delta": 0.0552,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 3.8014,
"delta": -0.1686,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.0093,
"predicted_AB": 3.8014,
"predicted_AVG": 0.2406,
"predicted_BB": 0.3475,
"predicted_H": 0.9144,
"predicted_HBP": 0.095,
"predicted_HR": 0.2001,
"predicted_OBP": 0.3042,
"predicted_R": 0.5134,
"predicted_RBI": 0.5231,
"predicted_SLG": 0.4468,
"predicted_SO": 1.0006
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.165,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8014,
"after": 3.8014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2386,
"after": 0.2406,
"delta": 0.002,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.3475,
"delta": -0.0005,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9062,
"after": 0.9144,
"delta": 0.0082,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1986,
"after": 0.2001,
"delta": 0.0015,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3211,
"after": 0.3042,
"delta": -0.0169,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5066,
"after": 0.5134,
"delta": 0.0068,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5161,
"after": 0.5231,
"delta": 0.007,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4445,
"after": 0.4468,
"delta": 0.0023,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9992,
"after": 1.0006,
"delta": 0.0014,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3211,
"after": 0.3042,
"delta": -0.0169,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.97), rates preserved: AVG=0.230 HR/AB=0.050",
"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.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8014,
"after": 4.0,
"delta": 0.1986,
"percent_delta": 0.0522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3475,
"after": 0.0,
"delta": -0.3475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9144,
"after": 1.0,
"delta": 0.0856,
"percent_delta": 0.0936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2001,
"after": 0.0,
"delta": -0.2001,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5231,
"after": 1.0,
"delta": 0.4769,
"percent_delta": 0.9117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0006,
"after": 1.0,
"delta": -0.0006,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5231,
"after": 1.0,
"delta": 0.4769,
"percent_delta": 0.9117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3475,
"after": 0.0,
"delta": -0.3475,
"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": 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.5134,
"after": 1.0,
"delta": 0.4866,
"percent_delta": 0.9478,
"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.5134,
"after": 1.0,
"delta": 0.4866,
"percent_delta": 0.9478,
"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.2406,
"after": 0.25,
"delta": 0.0094,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3042,
"after": 0.25,
"delta": -0.0542,
"percent_delta": -0.1782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4468,
"after": 0.25,
"delta": -0.1968,
"percent_delta": -0.4405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2406,
"after": 0.25,
"delta": 0.0094,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4468,
"after": 0.25,
"delta": -0.1968,
"percent_delta": -0.4405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2406,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3042,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4468,
"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.2406,
"delta": -0.0094,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3042,
"delta": 0.0542,
"percent_delta": 0.2167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4468,
"delta": 0.1968,
"percent_delta": 0.7872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4468,
"delta": 0.1968,
"percent_delta": 0.7872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2406,
"delta": -0.0094,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"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.97,
"after": 3.0,
"delta": -0.97,
"percent_delta": -0.2443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2406,
"delta": 0.0036,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 1.0,
"delta": 0.652,
"percent_delta": 1.8736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 2.0,
"delta": 1.06,
"percent_delta": 1.1277,
"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.319,
"after": 0.3042,
"delta": -0.0148,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 1.0,
"delta": 0.472,
"percent_delta": 0.8939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4468,
"delta": 0.0148,
"percent_delta": 0.0343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.944,
"after": 0.0,
"delta": -0.944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.94,
"after": 2.0,
"delta": 1.06,
"percent_delta": 1.1277,
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.528 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.432 | - |
| predicted_SO | 0.944 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.015 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 3.801 | -0.169 |
| predicted_AVG | 0.239 | 0.002 |
| predicted_BB | 0.348 | 0.000 |
| predicted_H | 0.906 | -0.034 |
| predicted_HBP | 0.095 | - |
| predicted_HR | 0.199 | 0.009 |
| predicted_OBP | 0.321 | 0.002 |
| predicted_R | 0.507 | -0.021 |
| predicted_RBI | 0.516 | -0.004 |
| predicted_SLG | 0.445 | 0.013 |
| predicted_SO | 0.999 | 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.165 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.801 | 0.000 |
| predicted_AVG | 0.241 | 0.002 |
| predicted_BB | 0.347 | -0.001 |
| predicted_H | 0.914 | 0.008 |
| predicted_HBP | 0.095 | 0.000 |
| predicted_HR | 0.200 | 0.002 |
| predicted_OBP | 0.304 | -0.017 |
| predicted_R | 0.513 | 0.007 |
| predicted_RBI | 0.523 | 0.007 |
| predicted_SLG | 0.447 | 0.002 |
| predicted_SO | 1.001 | 0.001 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.230 HR/AB=0.050
| 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.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 | 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.165 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.199 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.000 | -0.347 |
| predicted_H | 1.000 | 0.086 |
| predicted_HR | 0.000 | -0.200 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 1.000 | 0.487 |
| predicted_RBI | 1.000 | 0.477 |
| predicted_SLG | 0.250 | -0.197 |
| predicted_SO | 1.000 | -0.001 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 7.000 | 0.2000 | 0.3333 | 0.4000 | 0.2000 | 0.0667 | 0.0667 | 0.1333 | 0.4667 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 2.000 | 5.000 | 4.000 | 3.000 | 11.000 | 0.2778 | 0.3500 | 0.5000 | 0.2778 | 0.0556 | 0.1389 | 0.0833 | 0.3056 |
| season | 0.60 | 89 | - | 332.000 | 80.000 | 16.000 | 1.000 | 20.000 | 57.000 | 47.000 | 31.000 | 84.000 | 0.2410 | 0.3144 | 0.4759 | 0.2410 | 0.0602 | 0.1717 | 0.0934 | 0.2530 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1450 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.5760 |
| predicted_AVG | 0.2407 |
| predicted_BB | 0.3480 |
| predicted_H | 0.8610 |
| predicted_HBP | 0.0950 |
| predicted_HR | 0.2100 |
| predicted_OBP | 0.3239 |
| predicted_R | 0.4780 |
| predicted_RBI | 0.5110 |
| predicted_SLG | 0.4613 |
| predicted_SO | 1.0730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.1450 | 0.1650 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 3.9700 | 3.5760 | 3.8014 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2407 | 0.2386 | model_form_blend |
| predicted_BB | 0.3480 | 0.3480 | 0.3480 | model_form_blend |
| predicted_H | 0.9400 | 0.8610 | 0.9062 | model_form_blend |
| predicted_HBP | - | 0.0950 | 0.0950 | form_only |
| predicted_HR | 0.1900 | 0.2100 | 0.1986 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3239 | 0.3211 | model_form_blend |
| predicted_R | 0.5280 | 0.4780 | 0.5066 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5110 | 0.5161 | model_form_blend |
| predicted_SLG | 0.4320 | 0.4613 | 0.4445 | model_form_blend |
| predicted_SO | 0.9440 | 1.0730 | 0.9992 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 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 | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 572233 |
| playerID | 572233 |
| playerName | Christian Walker |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.337 |
| sl_xwoba | 0.302 |
| sl_xba | 0.225 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 29.1 |
| 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.180 | 1.000 | 0.000 | Hitting_2B | 0.194 | 0.000 | 0.806 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.060 | 4.000 | 4.000 | Hitting_AB | 3.694 | 4.000 | 0.306 | 0.000 |
| predicted_AVG | 0.285 | 0.750 | 0.250 | Hitting_AVG | 0.332 | 0.000 | 0.418 | 0.750 |
| predicted_BB | 0.663 | 0.000 | 1.000 | Hitting_BB | 0.716 | 0.000 | -0.716 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.150 | 3.000 | 1.000 | Hitting_H | 1.227 | 0.000 | 1.773 | 3.000 |
| predicted_HR | 0.320 | 1.000 | 0.000 | Hitting_HR | 0.385 | 0.000 | 0.615 | 1.000 |
| predicted_OBP | 0.390 | 0.750 | 0.400 | Hitting_OBP | 0.446 | 0.000 | 0.304 | 0.750 |
| predicted_R | 0.697 | 1.000 | 1.000 | Hitting_R | 0.734 | 0.000 | 0.266 | 1.000 |
| predicted_RBI | 0.960 | 2.000 | 1.000 | Hitting_RBI | 0.763 | 0.000 | 1.237 | 2.000 |
| predicted_SLG | 0.616 | 1.750 | 0.250 | Hitting_SLG | 0.697 | 0.000 | 1.053 | 1.750 |
| predicted_SO | 0.730 | 1.000 | 1.000 | Hitting_SO | 0.745 | 1.000 | 0.255 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 2 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 1.1500 -> 3.0000 (boost 1.8500, better) |
| Biggest Deboost | predicted_BB: 0.6630 -> 0.0000 (deboost -0.6630, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_SLG: 0.6160 -> 0.6547 (boost 0.0387, better) | predicted_AB: 4.0600 -> 3.9021 (deboost -0.1579, worse) | Final model input calibrated with local 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.6547 -> 0.6265 (deboost -0.0282, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_BB: 0.6115 -> 1.0000 (boost 0.3885, better) | predicted_HR: 0.3606 -> 0.0000 (deboost -0.3606, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.298 HR/AB=0.089 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6925 -> 1.0000 (boost 0.3075, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.6265 -> 0.2500 (deboost -0.3765, 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_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_BB: 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.6265 (boost 0.3765, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.0,
"predicted_AB": 4.06,
"predicted_AVG": 0.285,
"predicted_BB": 0.663,
"predicted_H": 1.15,
"predicted_HR": 0.32,
"predicted_OBP": 0.39,
"predicted_R": 0.697,
"predicted_RBI": 0.96,
"predicted_SLG": 0.616,
"predicted_SO": 0.73
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1521,
"predicted_3B": 0.0004,
"predicted_AB": 3.9021,
"predicted_AVG": 0.3097,
"predicted_BB": 0.6124,
"predicted_H": 1.1993,
"predicted_HBP": 0.034,
"predicted_HR": 0.3578,
"predicted_OBP": 0.405,
"predicted_R": 0.6833,
"predicted_RBI": 0.9986,
"predicted_SLG": 0.6547,
"predicted_SO": 0.7386
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.1521,
"delta": -0.0279,
"percent_delta": -0.155,
"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.06,
"after": 3.9021,
"delta": -0.1579,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.3097,
"delta": 0.0247,
"percent_delta": 0.0867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.663,
"after": 0.6124,
"delta": -0.0506,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.1993,
"delta": 0.0493,
"percent_delta": 0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.3578,
"delta": 0.0378,
"percent_delta": 0.1181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.405,
"delta": 0.015,
"percent_delta": 0.0385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.697,
"after": 0.6833,
"delta": -0.0137,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.96,
"after": 0.9986,
"delta": 0.0386,
"percent_delta": 0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.616,
"after": 0.6547,
"delta": 0.0387,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 0.7386,
"delta": 0.0086,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.616,
"after": 0.6547,
"delta": 0.0387,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9021,
"delta": -0.1579,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1521,
"predicted_3B": 0.0004,
"predicted_AB": 3.9021,
"predicted_AVG": 0.3101,
"predicted_BB": 0.6115,
"predicted_H": 1.2102,
"predicted_HBP": 0.034,
"predicted_HR": 0.3606,
"predicted_OBP": 0.4036,
"predicted_R": 0.6925,
"predicted_RBI": 1.0121,
"predicted_SLG": 0.6265,
"predicted_SO": 0.7396
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1521,
"after": 0.1521,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9021,
"after": 3.9021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3097,
"after": 0.3101,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6124,
"after": 0.6115,
"delta": -0.0009,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1993,
"after": 1.2102,
"delta": 0.0109,
"percent_delta": 0.0091,
"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.3578,
"after": 0.3606,
"delta": 0.0028,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.405,
"after": 0.4036,
"delta": -0.0014,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6833,
"after": 0.6925,
"delta": 0.0092,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9986,
"after": 1.0121,
"delta": 0.0135,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6547,
"after": 0.6265,
"delta": -0.0282,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7386,
"after": 0.7396,
"delta": 0.001,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6547,
"after": 0.6265,
"delta": -0.0282,
"percent_delta": -0.0431,
"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.298 HR/AB=0.089",
"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.1521,
"after": 0.0,
"delta": -0.1521,
"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.9021,
"after": 4.0,
"delta": 0.0979,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6115,
"after": 1.0,
"delta": 0.3885,
"percent_delta": 0.6353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2102,
"after": 1.0,
"delta": -0.2102,
"percent_delta": -0.1737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3606,
"after": 0.0,
"delta": -0.3606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0121,
"after": 1.0,
"delta": -0.0121,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7396,
"after": 1.0,
"delta": 0.2604,
"percent_delta": 0.3521,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6115,
"after": 1.0,
"delta": 0.3885,
"percent_delta": 0.6353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3606,
"after": 0.0,
"delta": -0.3606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6925,
"after": 1.0,
"delta": 0.3075,
"percent_delta": 0.444,
"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.6925,
"after": 1.0,
"delta": 0.3075,
"percent_delta": 0.444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.3101,
"after": 0.25,
"delta": -0.0601,
"percent_delta": -0.1938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4036,
"after": 0.4,
"delta": -0.0036,
"percent_delta": -0.0089,
"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.6265,
"after": 0.25,
"delta": -0.3765,
"percent_delta": -0.601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.6265,
"after": 0.25,
"delta": -0.3765,
"percent_delta": -0.601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"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_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.3101,
"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.4036,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6265,
"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.3101,
"delta": 0.0601,
"percent_delta": 0.2406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.4,
"after": 0.4036,
"delta": 0.0036,
"percent_delta": 0.009,
"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.6265,
"delta": 0.3765,
"percent_delta": 1.5061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.6265,
"delta": 0.3765,
"percent_delta": 1.5061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"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.06,
"after": 4.0,
"delta": -0.06,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.3101,
"delta": 0.0251,
"percent_delta": 0.0881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.663,
"after": 0.0,
"delta": -0.663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 3.0,
"delta": 1.85,
"percent_delta": 1.6087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.4036,
"delta": 0.0136,
"percent_delta": 0.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.697,
"after": 1.0,
"delta": 0.303,
"percent_delta": 0.4347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.96,
"after": 2.0,
"delta": 1.04,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.616,
"after": 0.6265,
"delta": 0.0105,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.15,
"after": 3.0,
"delta": 1.85,
"percent_delta": 1.6087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.663,
"after": 0.0,
"delta": -0.663,
"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.180 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.285 | - |
| predicted_BB | 0.663 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.320 | - |
| predicted_OBP | 0.390 | - |
| predicted_R | 0.697 | - |
| predicted_RBI | 0.960 | - |
| predicted_SLG | 0.616 | - |
| predicted_SO | 0.730 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | -0.028 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.902 | -0.158 |
| predicted_AVG | 0.310 | 0.025 |
| predicted_BB | 0.612 | -0.051 |
| predicted_H | 1.199 | 0.049 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.358 | 0.038 |
| predicted_OBP | 0.405 | 0.015 |
| predicted_R | 0.683 | -0.014 |
| predicted_RBI | 0.999 | 0.039 |
| predicted_SLG | 0.655 | 0.039 |
| predicted_SO | 0.739 | 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.152 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.902 | 0.000 |
| predicted_AVG | 0.310 | 0.000 |
| predicted_BB | 0.612 | -0.001 |
| predicted_H | 1.210 | 0.011 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.361 | 0.003 |
| predicted_OBP | 0.404 | -0.001 |
| predicted_R | 0.693 | 0.009 |
| predicted_RBI | 1.012 | 0.013 |
| predicted_SLG | 0.626 | -0.028 |
| predicted_SO | 0.740 | 0.001 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.298 HR/AB=0.089
| 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.152 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.098 |
| predicted_AVG | 0.250 | -0.060 |
| predicted_BB | 1.000 | 0.388 |
| predicted_H | 1.000 | -0.210 |
| predicted_HR | 0.000 | -0.361 |
| predicted_OBP | 0.400 | -0.004 |
| predicted_R | 1.000 | 0.307 |
| predicted_RBI | 1.000 | -0.012 |
| predicted_SLG | 0.250 | -0.376 |
| predicted_SO | 1.000 | 0.260 |
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 | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 10.000 | 0.000 | 0.000 | 4.000 | 11.000 | 4.000 | 1.000 | 3.000 | 0.5000 | 0.5000 | 1.1000 | 0.5000 | 0.2000 | 0.5500 | 0.0500 | 0.1500 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 0.000 | 0.000 | 4.000 | 11.000 | 5.000 | 6.000 | 9.000 | 0.2778 | 0.3721 | 0.6111 | 0.2778 | 0.1111 | 0.3056 | 0.1667 | 0.2500 |
| season | 0.60 | 89 | - | 321.000 | 104.000 | 16.000 | 0.000 | 29.000 | 67.000 | 62.000 | 59.000 | 65.000 | 0.3240 | 0.4330 | 0.6449 | 0.3240 | 0.0903 | 0.2087 | 0.1838 | 0.2025 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6920 |
| predicted_AVG | 0.3426 |
| predicted_BB | 0.5450 |
| predicted_H | 1.2650 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.4080 |
| predicted_OBP | 0.4250 |
| predicted_R | 0.6650 |
| predicted_RBI | 1.0500 |
| predicted_SLG | 0.7062 |
| predicted_SO | 0.7500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.1150 | 0.1521 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0600 | 3.6920 | 3.9021 | model_form_blend |
| predicted_AVG | 0.2850 | 0.3426 | 0.3097 | model_form_blend |
| predicted_BB | 0.6630 | 0.5450 | 0.6124 | model_form_blend |
| predicted_H | 1.1500 | 1.2650 | 1.1993 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.3200 | 0.4080 | 0.3578 | model_form_blend |
| predicted_OBP | 0.3900 | 0.4250 | 0.4050 | model_form_blend |
| predicted_R | 0.6970 | 0.6650 | 0.6833 | model_form_blend |
| predicted_RBI | 0.9600 | 1.0500 | 0.9986 | model_form_blend |
| predicted_SLG | 0.6160 | 0.7062 | 0.6547 | model_form_blend |
| predicted_SO | 0.7300 | 0.7500 | 0.7386 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 278 |
| Season rows before report date | 278 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.324 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 670541 |
| playerID | 670541 |
| playerName | Yordan Alvarez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 15.1 |
| sl_woba | 0.443 |
| sl_xwoba | 0.477 |
| sl_xba | 0.337 |
| sl_xslg | 0.718 |
| sl_sweet_spot_percent | 42.9 |
| sl_barrel_batted_rate | 19.3 |
| sl_hard_hit_percent | 53.6 |
| sl_exit_velocity_avg | 94.7 |
| sl_launch_angle_avg | 19.9 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 43.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.333 | 0.000 | 0.000 | Hitting_2B | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.090 | 4.000 | 3.000 | Hitting_AB | 3.000 | 3.000 | 1.000 | 1.000 |
| predicted_AVG | 0.259 | 0.250 | 0.333 | Hitting_AVG | 0.222 | 0.000 | 0.028 | 0.250 |
| predicted_BB | 0.167 | 0.000 | 0.000 | Hitting_BB | 0.167 | 0.000 | -0.167 | 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.667 | 0.000 | 0.333 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.310 | 0.250 | 0.333 | Hitting_OBP | 0.263 | 0.000 | -0.013 | 0.250 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_SLG | 0.456 | 0.250 | 0.333 | Hitting_SLG | 0.500 | 0.000 | -0.250 | 0.250 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.000 | 2.000 | -1.000 | -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_AB: 3.0900 -> 4.0000 (boost 0.9100, better) |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0900 -> 3.1810 (boost 0.0910, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4654 -> 0.4956 (boost 0.0302, better) | predicted_OBP: 0.3106 -> 0.3020 (deboost -0.0086, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_RBI: 0.5583 -> 1.0000 (boost 0.4417, better) | predicted_2B: 0.3195 -> 0.0000 (deboost -0.3195, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.261 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3727 -> 0.0000 (deboost -0.3727, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2612 -> 0.3330 (boost 0.0718, better) | predicted_SLG: 0.4956 -> 0.3330 (deboost -0.1626, 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_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.4956 (boost 0.1626, better) | predicted_AVG: 0.3330 -> 0.2612 (deboost -0.0718, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664774",
"player_name": "LaMonte Wade Jr.",
"position": "LF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.333,
"predicted_3B": 0.0,
"predicted_AB": 3.09,
"predicted_AVG": 0.259,
"predicted_BB": 0.167,
"predicted_H": 0.8,
"predicted_HR": 0.13,
"predicted_OBP": 0.31,
"predicted_R": 0.333,
"predicted_RBI": 0.52,
"predicted_SLG": 0.456,
"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.3195,
"predicted_3B": 0.0022,
"predicted_AB": 3.181,
"predicted_AVG": 0.2589,
"predicted_BB": 0.1865,
"predicted_H": 0.8233,
"predicted_HBP": 0.018,
"predicted_HR": 0.1395,
"predicted_OBP": 0.3106,
"predicted_R": 0.3677,
"predicted_RBI": 0.5509,
"predicted_SLG": 0.4654,
"predicted_SO": 0.9618
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.3195,
"delta": -0.0135,
"percent_delta": -0.0405,
"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.09,
"after": 3.181,
"delta": 0.091,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2589,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.1865,
"delta": 0.0195,
"percent_delta": 0.1168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.8233,
"delta": 0.0233,
"percent_delta": 0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1395,
"delta": 0.0095,
"percent_delta": 0.0731,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3106,
"delta": 0.0006,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3677,
"delta": 0.0347,
"percent_delta": 0.1042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5509,
"delta": 0.0309,
"percent_delta": 0.0594,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4654,
"delta": 0.0094,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9618,
"delta": -0.0382,
"percent_delta": -0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.09,
"after": 3.181,
"delta": 0.091,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 6,
"season": 6
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3195,
"predicted_3B": 0.0022,
"predicted_AB": 3.181,
"predicted_AVG": 0.2612,
"predicted_BB": 0.1862,
"predicted_H": 0.8308,
"predicted_HBP": 0.018,
"predicted_HR": 0.1406,
"predicted_OBP": 0.302,
"predicted_R": 0.3727,
"predicted_RBI": 0.5583,
"predicted_SLG": 0.4956,
"predicted_SO": 0.9631
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3195,
"after": 0.3195,
"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.181,
"after": 3.181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2589,
"after": 0.2612,
"delta": 0.0023,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1865,
"after": 0.1862,
"delta": -0.0003,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8233,
"after": 0.8308,
"delta": 0.0075,
"percent_delta": 0.0091,
"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.1395,
"after": 0.1406,
"delta": 0.0011,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3106,
"after": 0.302,
"delta": -0.0086,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3677,
"after": 0.3727,
"delta": 0.005,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5509,
"after": 0.5583,
"delta": 0.0074,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4654,
"after": 0.4956,
"delta": 0.0302,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9618,
"after": 0.9631,
"delta": 0.0013,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4654,
"after": 0.4956,
"delta": 0.0302,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3106,
"after": 0.302,
"delta": -0.0086,
"percent_delta": -0.0277,
"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.261 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3195,
"after": 0.0,
"delta": -0.3195,
"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.181,
"after": 3.0,
"delta": -0.181,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1862,
"after": 0.0,
"delta": -0.1862,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8308,
"after": 1.0,
"delta": 0.1692,
"percent_delta": 0.2037,
"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.1406,
"after": 0.0,
"delta": -0.1406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5583,
"after": 1.0,
"delta": 0.4417,
"percent_delta": 0.7912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9631,
"after": 1.0,
"delta": 0.0369,
"percent_delta": 0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5583,
"after": 1.0,
"delta": 0.4417,
"percent_delta": 0.7912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3195,
"after": 0.0,
"delta": -0.3195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3727,
"after": 0.0,
"delta": -0.3727,
"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.3727,
"after": 0.0,
"delta": -0.3727,
"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.2612,
"after": 0.333,
"delta": 0.0718,
"percent_delta": 0.2749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.333,
"delta": 0.031,
"percent_delta": 0.1026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4956,
"after": 0.333,
"delta": -0.1626,
"percent_delta": -0.3281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2612,
"after": 0.333,
"delta": 0.0718,
"percent_delta": 0.2749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4956,
"after": 0.333,
"delta": -0.1626,
"percent_delta": -0.3281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_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.2612,
"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.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4956,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2612,
"delta": -0.0718,
"percent_delta": -0.2157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.302,
"delta": -0.031,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4956,
"delta": 0.1626,
"percent_delta": 0.4882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4956,
"delta": 0.1626,
"percent_delta": 0.4882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2612,
"delta": -0.0718,
"percent_delta": -0.2157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.09,
"after": 4.0,
"delta": 0.91,
"percent_delta": 0.2945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2612,
"delta": 0.0022,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.0,
"delta": 0.2,
"percent_delta": 0.25,
"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.31,
"after": 0.302,
"delta": -0.008,
"percent_delta": -0.0258,
"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.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4956,
"delta": 0.0396,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.09,
"after": 4.0,
"delta": 0.91,
"percent_delta": 0.2945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.333 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.090 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.167 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.456 | - |
| 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.320 | -0.014 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.181 | 0.091 |
| predicted_AVG | 0.259 | -0.000 |
| predicted_BB | 0.186 | 0.019 |
| predicted_H | 0.823 | 0.023 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.140 | 0.010 |
| predicted_OBP | 0.311 | 0.001 |
| predicted_R | 0.368 | 0.035 |
| predicted_RBI | 0.551 | 0.031 |
| predicted_SLG | 0.465 | 0.009 |
| predicted_SO | 0.962 | -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.320 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.181 | 0.000 |
| predicted_AVG | 0.261 | 0.002 |
| predicted_BB | 0.186 | -0.000 |
| predicted_H | 0.831 | 0.007 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.141 | 0.001 |
| predicted_OBP | 0.302 | -0.009 |
| predicted_R | 0.373 | 0.005 |
| predicted_RBI | 0.558 | 0.007 |
| predicted_SLG | 0.496 | 0.030 |
| predicted_SO | 0.963 | 0.001 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.261 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.320 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.181 |
| predicted_AVG | 0.333 | 0.072 |
| predicted_BB | 0.000 | -0.186 |
| predicted_H | 1.000 | 0.169 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.333 | 0.031 |
| predicted_R | 0.000 | -0.373 |
| predicted_RBI | 1.000 | 0.442 |
| predicted_SLG | 0.333 | -0.163 |
| predicted_SO | 1.000 | 0.037 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 2.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 4.000 | 0.2857 | 0.3333 | 0.6429 | 0.2857 | 0.0714 | 0.2857 | 0.0714 | 0.2857 |
| last_10 | 0.20 | 6 | - | 18.000 | 4.000 | 2.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 6.000 | 0.2222 | 0.2632 | 0.5000 | 0.2222 | 0.0556 | 0.2222 | 0.0556 | 0.3333 |
| season | 0.60 | 6 | - | 18.000 | 4.000 | 2.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 6.000 | 0.2222 | 0.2632 | 0.5000 | 0.2222 | 0.0556 | 0.2222 | 0.0556 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2830 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4260 |
| predicted_AVG | 0.2585 |
| predicted_BB | 0.2390 |
| predicted_H | 0.8860 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.3121 |
| predicted_R | 0.4610 |
| predicted_RBI | 0.6340 |
| predicted_SLG | 0.4907 |
| predicted_SO | 0.8590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3330 | 0.2830 | 0.3195 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0022 | model_form_blend |
| predicted_AB | 3.0900 | 3.4260 | 3.1810 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2585 | 0.2589 | model_form_blend |
| predicted_BB | 0.1670 | 0.2390 | 0.1865 | model_form_blend |
| predicted_H | 0.8000 | 0.8860 | 0.8233 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1300 | 0.1650 | 0.1395 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3121 | 0.3106 | model_form_blend |
| predicted_R | 0.3330 | 0.4610 | 0.3677 | model_form_blend |
| predicted_RBI | 0.5200 | 0.6340 | 0.5509 | model_form_blend |
| predicted_SLG | 0.4560 | 0.4907 | 0.4654 | model_form_blend |
| predicted_SO | 1.0000 | 0.8590 | 0.9618 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 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 | 20260705_TB@HOU |
| game_type | full |
| mlbID | 664774 |
| playerID | 664774 |
| playerName | LaMonte Wade Jr. |
| pos | 1B |
| started | True |
| startingPosition | LF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 31.6 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.324 |
| sl_xwoba | 0.222 |
| sl_xba | 0.159 |
| sl_xslg | 0.307 |
| sl_sweet_spot_percent | 41.7 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 3.7 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 47.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.190 | 0.000 | 0.000 | Hitting_2B | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.910 | 3.000 | 4.000 | Hitting_AB | 3.720 | 4.000 | -0.720 | -1.000 |
| predicted_AVG | 0.246 | 0.000 | 0.250 | Hitting_AVG | 0.246 | 0.500 | -0.246 | -0.500 |
| predicted_BB | 0.393 | 1.000 | 0.000 | Hitting_BB | 0.407 | 0.000 | 0.593 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.914 | 2.000 | -0.914 | -2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.132 | 1.000 | -0.132 | -1.000 |
| predicted_OBP | 0.331 | 0.250 | 0.250 | Hitting_OBP | 0.341 | 0.500 | -0.091 | -0.250 |
| predicted_R | 0.417 | 0.000 | 0.000 | Hitting_R | 0.457 | 1.000 | -0.457 | -1.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.519 | 1.000 | -0.519 | -1.000 |
| predicted_SLG | 0.413 | 0.000 | 0.250 | Hitting_SLG | 0.403 | 1.250 | -0.403 | -1.250 |
| predicted_SO | 0.655 | 0.000 | 1.000 | Hitting_SO | 0.642 | 0.000 | -0.642 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3930 -> 1.0000 (boost 0.6070, better) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4130 -> 0.4207 (boost 0.0077, better) | predicted_AB: 3.9100 -> 3.8096 (deboost -0.1004, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3354 -> 0.3153 (deboost -0.0201, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5467 -> 1.0000 (boost 0.4533, better) | predicted_BB: 0.3434 -> 0.0000 (deboost -0.3434, worse) | AB rounded to 4 (raw=3.91), rates preserved: AVG=0.247 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4152 -> 0.0000 (deboost -0.4152, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4168 -> 0.2500 (deboost -0.1668, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4168 (boost 0.1668, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670623",
"player_name": "Isaac Paredes",
"position": "3B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.19,
"predicted_3B": 0.0,
"predicted_AB": 3.91,
"predicted_AVG": 0.246,
"predicted_BB": 0.393,
"predicted_H": 0.96,
"predicted_HR": 0.14,
"predicted_OBP": 0.331,
"predicted_R": 0.417,
"predicted_RBI": 0.53,
"predicted_SLG": 0.413,
"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.1682,
"predicted_3B": 0.0004,
"predicted_AB": 3.8096,
"predicted_AVG": 0.2518,
"predicted_BB": 0.3439,
"predicted_H": 0.9574,
"predicted_HBP": 0.198,
"predicted_HR": 0.1498,
"predicted_OBP": 0.3354,
"predicted_R": 0.4097,
"predicted_RBI": 0.5394,
"predicted_SLG": 0.4207,
"predicted_SO": 0.6063
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.1682,
"delta": -0.0218,
"percent_delta": -0.1147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 3.8096,
"delta": -0.1004,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2518,
"delta": 0.0058,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.3439,
"delta": -0.0491,
"percent_delta": -0.1249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9574,
"delta": -0.0026,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1498,
"delta": 0.0098,
"percent_delta": 0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3354,
"delta": 0.0044,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.4097,
"delta": -0.0073,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5394,
"delta": 0.0094,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4207,
"delta": 0.0077,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.655,
"after": 0.6063,
"delta": -0.0487,
"percent_delta": -0.0744,
"direction": "no_change",
"projection_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.413,
"after": 0.4207,
"delta": 0.0077,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.91,
"after": 3.8096,
"delta": -0.1004,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1682,
"predicted_3B": 0.0004,
"predicted_AB": 3.8096,
"predicted_AVG": 0.2536,
"predicted_BB": 0.3434,
"predicted_H": 0.9661,
"predicted_HBP": 0.198,
"predicted_HR": 0.151,
"predicted_OBP": 0.3153,
"predicted_R": 0.4152,
"predicted_RBI": 0.5467,
"predicted_SLG": 0.4168,
"predicted_SO": 0.6071
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1682,
"after": 0.1682,
"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.8096,
"after": 3.8096,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2518,
"after": 0.2536,
"delta": 0.0018,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3439,
"after": 0.3434,
"delta": -0.0005,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9574,
"after": 0.9661,
"delta": 0.0087,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.198,
"after": 0.198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1498,
"after": 0.151,
"delta": 0.0012,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3354,
"after": 0.3153,
"delta": -0.0201,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4097,
"after": 0.4152,
"delta": 0.0055,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5394,
"after": 0.5467,
"delta": 0.0073,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4207,
"after": 0.4168,
"delta": -0.0039,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6063,
"after": 0.6071,
"delta": 0.0008,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3354,
"after": 0.3153,
"delta": -0.0201,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.91), rates preserved: AVG=0.247 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1682,
"after": 0.0,
"delta": -0.1682,
"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.8096,
"after": 4.0,
"delta": 0.1904,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3434,
"after": 0.0,
"delta": -0.3434,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9661,
"after": 1.0,
"delta": 0.0339,
"percent_delta": 0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5467,
"after": 1.0,
"delta": 0.4533,
"percent_delta": 0.8292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6071,
"after": 1.0,
"delta": 0.3929,
"percent_delta": 0.6472,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5467,
"after": 1.0,
"delta": 0.4533,
"percent_delta": 0.8292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3434,
"after": 0.0,
"delta": -0.3434,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4152,
"after": 0.0,
"delta": -0.4152,
"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.4152,
"after": 0.0,
"delta": -0.4152,
"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.2536,
"after": 0.25,
"delta": -0.0036,
"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.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.4168,
"after": 0.25,
"delta": -0.1668,
"percent_delta": -0.4002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4168,
"after": 0.25,
"delta": -0.1668,
"percent_delta": -0.4002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2536,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.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.4168,
"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.2536,
"delta": 0.0036,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4168,
"delta": 0.1668,
"percent_delta": 0.6673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.4168,
"delta": 0.1668,
"percent_delta": 0.6673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 3.0,
"delta": -0.91,
"percent_delta": -0.2327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2536,
"delta": 0.0076,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 1.0,
"delta": 0.607,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.3153,
"delta": -0.0157,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4168,
"delta": 0.0038,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.655,
"after": 0.0,
"delta": -0.655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.393,
"after": 1.0,
"delta": 0.607,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.910 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.393 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.417 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.413 | - |
| 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.168 | -0.022 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.810 | -0.100 |
| predicted_AVG | 0.252 | 0.006 |
| predicted_BB | 0.344 | -0.049 |
| predicted_H | 0.957 | -0.003 |
| predicted_HBP | 0.198 | - |
| predicted_HR | 0.150 | 0.010 |
| predicted_OBP | 0.335 | 0.004 |
| predicted_R | 0.410 | -0.007 |
| predicted_RBI | 0.539 | 0.009 |
| predicted_SLG | 0.421 | 0.008 |
| predicted_SO | 0.606 | -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.000 | 0.000 |
| predicted_AB | 3.810 | 0.000 |
| predicted_AVG | 0.254 | 0.002 |
| predicted_BB | 0.343 | -0.001 |
| predicted_H | 0.966 | 0.009 |
| predicted_HBP | 0.198 | 0.000 |
| predicted_HR | 0.151 | 0.001 |
| predicted_OBP | 0.315 | -0.020 |
| predicted_R | 0.415 | 0.006 |
| predicted_RBI | 0.547 | 0.007 |
| predicted_SLG | 0.417 | -0.004 |
| predicted_SO | 0.607 | 0.001 |
AB rounded to 4 (raw=3.91), rates preserved: AVG=0.247 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.168 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.190 |
| predicted_AVG | 0.250 | -0.004 |
| predicted_BB | 0.000 | -0.343 |
| predicted_H | 1.000 | 0.034 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 0.000 | -0.415 |
| predicted_RBI | 1.000 | 0.453 |
| predicted_SLG | 0.250 | -0.167 |
| 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 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 2.000 | 0.2632 | 0.3333 | 0.4211 | 0.2632 | 0.0526 | 0.1053 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 1.000 | 0.000 | 2.000 | 7.000 | 5.000 | 2.000 | 2.000 | 0.2973 | 0.3571 | 0.4865 | 0.2973 | 0.0541 | 0.1892 | 0.0541 | 0.0541 |
| season | 0.60 | 84 | - | 303.000 | 75.000 | 16.000 | 0.000 | 12.000 | 47.000 | 35.000 | 33.000 | 55.000 | 0.2475 | 0.3438 | 0.4191 | 0.2475 | 0.0396 | 0.1551 | 0.1089 | 0.1815 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1390 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6750 |
| predicted_AVG | 0.2596 |
| predicted_BB | 0.2780 |
| predicted_H | 0.9540 |
| predicted_HBP | 0.1980 |
| predicted_HR | 0.1630 |
| predicted_OBP | 0.3414 |
| predicted_R | 0.4000 |
| predicted_RBI | 0.5520 |
| predicted_SLG | 0.4311 |
| predicted_SO | 0.5410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.1390 | 0.1682 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9100 | 3.6750 | 3.8096 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2596 | 0.2518 | model_form_blend |
| predicted_BB | 0.3930 | 0.2780 | 0.3439 | model_form_blend |
| predicted_H | 0.9600 | 0.9540 | 0.9574 | model_form_blend |
| predicted_HBP | - | 0.1980 | 0.1980 | form_only |
| predicted_HR | 0.1400 | 0.1630 | 0.1498 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3414 | 0.3354 | model_form_blend |
| predicted_R | 0.4170 | 0.4000 | 0.4097 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5520 | 0.5394 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4311 | 0.4207 | model_form_blend |
| predicted_SO | 0.6550 | 0.5410 | 0.6063 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 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 | 20260705_TB@HOU |
| game_type | full |
| mlbID | 670623 |
| playerID | 670623 |
| playerName | Isaac Paredes |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.342 |
| sl_xwoba | 0.32 |
| sl_xba | 0.243 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 30.2 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 24.0 |
| sl_whiff_percent | 16.7 |
| 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.191 | 0.000 | 0.000 | Hitting_2B | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 4.360 | 4.000 | 4.000 | Hitting_AB | 3.934 | 3.000 | 0.066 | 1.000 |
| predicted_AVG | 0.230 | 0.250 | 0.250 | Hitting_AVG | 0.251 | 0.333 | -0.001 | -0.083 |
| predicted_BB | 0.426 | 0.000 | 0.000 | Hitting_BB | 0.462 | 1.000 | -0.462 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 0.986 | 1.000 | 0.014 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.322 | 0.250 | 0.250 | Hitting_OBP | 0.330 | 0.500 | -0.080 | -0.250 |
| predicted_R | 0.603 | 1.000 | 1.000 | Hitting_R | 0.679 | 0.000 | 0.321 | 1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.024 | 1.000 | -0.024 | -1.000 |
| predicted_SLG | 0.377 | 0.250 | 0.250 | Hitting_SLG | 0.403 | 0.333 | -0.153 | -0.083 |
| predicted_SO | 0.926 | 0.000 | 1.000 | Hitting_SO | 0.877 | 1.000 | -0.877 | -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_R: 0.6030 -> 1.0000 (boost 0.3970, better) |
| Biggest Deboost | predicted_SO: 0.9260 -> 0.0000 (deboost -0.9260, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.4260 -> 0.4818 (boost 0.0558, better) | predicted_AB: 4.3600 -> 4.0870 (deboost -0.2730, worse) | Final model input calibrated with local 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.3749 -> 0.3605 (deboost -0.0144, 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.9138 -> 1.0000 (boost 0.0862, worse) | predicted_BB: 0.4811 -> 0.0000 (deboost -0.4811, worse) | AB rounded to 4 (raw=4.36), rates preserved: AVG=0.217 HR/AB=0.021 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6334 -> 1.0000 (boost 0.3666, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2311 -> 0.2500 (boost 0.0189, better) | predicted_SLG: 0.3605 -> 0.2500 (deboost -0.1105, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3605 (boost 0.1105, better) | predicted_AVG: 0.2500 -> 0.2311 (deboost -0.0189, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.191,
"predicted_3B": 0.015,
"predicted_AB": 4.36,
"predicted_AVG": 0.23,
"predicted_BB": 0.426,
"predicted_H": 1.0,
"predicted_HR": 0.1,
"predicted_OBP": 0.322,
"predicted_R": 0.603,
"predicted_RBI": 0.35,
"predicted_SLG": 0.377,
"predicted_SO": 0.926
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1847,
"predicted_3B": 0.037,
"predicted_AB": 4.087,
"predicted_AVG": 0.2292,
"predicted_BB": 0.4818,
"predicted_H": 0.9358,
"predicted_HBP": 0.011,
"predicted_HR": 0.0894,
"predicted_OBP": 0.3247,
"predicted_R": 0.625,
"predicted_RBI": 0.3179,
"predicted_SLG": 0.3749,
"predicted_SO": 0.9125
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.1847,
"delta": -0.0063,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.037,
"delta": 0.022,
"percent_delta": 1.4667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 4.087,
"delta": -0.273,
"percent_delta": -0.0626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2292,
"delta": -0.0008,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.426,
"after": 0.4818,
"delta": 0.0558,
"percent_delta": 0.131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9358,
"delta": -0.0642,
"percent_delta": -0.0642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0894,
"delta": -0.0106,
"percent_delta": -0.106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3247,
"delta": 0.0027,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.625,
"delta": 0.022,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3179,
"delta": -0.0321,
"percent_delta": -0.0917,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3749,
"delta": -0.0021,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.9125,
"delta": -0.0135,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_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.426,
"after": 0.4818,
"delta": 0.0558,
"percent_delta": 0.131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.36,
"after": 4.087,
"delta": -0.273,
"percent_delta": -0.0626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1847,
"predicted_3B": 0.037,
"predicted_AB": 4.087,
"predicted_AVG": 0.2311,
"predicted_BB": 0.4811,
"predicted_H": 0.9443,
"predicted_HBP": 0.011,
"predicted_HR": 0.0901,
"predicted_OBP": 0.312,
"predicted_R": 0.6334,
"predicted_RBI": 0.3222,
"predicted_SLG": 0.3605,
"predicted_SO": 0.9138
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1847,
"after": 0.1847,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.087,
"after": 4.087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2292,
"after": 0.2311,
"delta": 0.0019,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4818,
"after": 0.4811,
"delta": -0.0007,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9358,
"after": 0.9443,
"delta": 0.0085,
"percent_delta": 0.0091,
"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.0894,
"after": 0.0901,
"delta": 0.0007,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3247,
"after": 0.312,
"delta": -0.0127,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.625,
"after": 0.6334,
"delta": 0.0084,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3179,
"after": 0.3222,
"delta": 0.0043,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3749,
"after": 0.3605,
"delta": -0.0144,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9125,
"after": 0.9138,
"delta": 0.0013,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3749,
"after": 0.3605,
"delta": -0.0144,
"percent_delta": -0.0384,
"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.217 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.1847,
"after": 0.0,
"delta": -0.1847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.087,
"after": 4.0,
"delta": -0.087,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4811,
"after": 0.0,
"delta": -0.4811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9443,
"after": 1.0,
"delta": 0.0557,
"percent_delta": 0.059,
"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.0901,
"after": 0.0,
"delta": -0.0901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3222,
"after": 0.0,
"delta": -0.3222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9138,
"after": 1.0,
"delta": 0.0862,
"percent_delta": 0.0943,
"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.9138,
"after": 1.0,
"delta": 0.0862,
"percent_delta": 0.0943,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4811,
"after": 0.0,
"delta": -0.4811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.6334,
"after": 1.0,
"delta": 0.3666,
"percent_delta": 0.5788,
"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.6334,
"after": 1.0,
"delta": 0.3666,
"percent_delta": 0.5788,
"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.2311,
"after": 0.25,
"delta": 0.0189,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.25,
"delta": -0.062,
"percent_delta": -0.1987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3605,
"after": 0.25,
"delta": -0.1105,
"percent_delta": -0.3065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2311,
"after": 0.25,
"delta": 0.0189,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3605,
"after": 0.25,
"delta": -0.1105,
"percent_delta": -0.3065,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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": 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.2311,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3605,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2311,
"delta": -0.0189,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.312,
"delta": 0.062,
"percent_delta": 0.2482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3605,
"delta": 0.1105,
"percent_delta": 0.4419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3605,
"delta": 0.1105,
"percent_delta": 0.4419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2311,
"delta": -0.0189,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 4.0,
"delta": -0.36,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2311,
"delta": 0.0011,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.312,
"delta": -0.01,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3605,
"delta": -0.0165,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.0,
"delta": -0.926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.926,
"after": 0.0,
"delta": -0.926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.360 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.426 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.603 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 0.926 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | -0.006 |
| predicted_3B | 0.037 | 0.022 |
| predicted_AB | 4.087 | -0.273 |
| predicted_AVG | 0.229 | -0.001 |
| predicted_BB | 0.482 | 0.056 |
| predicted_H | 0.936 | -0.064 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.089 | -0.011 |
| predicted_OBP | 0.325 | 0.003 |
| predicted_R | 0.625 | 0.022 |
| predicted_RBI | 0.318 | -0.032 |
| predicted_SLG | 0.375 | -0.002 |
| predicted_SO | 0.912 | -0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 4.087 | 0.000 |
| predicted_AVG | 0.231 | 0.002 |
| predicted_BB | 0.481 | -0.001 |
| predicted_H | 0.944 | 0.009 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.090 | 0.001 |
| predicted_OBP | 0.312 | -0.013 |
| predicted_R | 0.633 | 0.008 |
| predicted_RBI | 0.322 | 0.004 |
| predicted_SLG | 0.360 | -0.014 |
| predicted_SO | 0.914 | 0.001 |
AB rounded to 4 (raw=4.36), rates preserved: AVG=0.217 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 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.185 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 4.000 | -0.087 |
| predicted_AVG | 0.250 | 0.019 |
| predicted_BB | 0.000 | -0.481 |
| predicted_H | 1.000 | 0.056 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.250 | -0.062 |
| predicted_R | 1.000 | 0.367 |
| predicted_RBI | 0.000 | -0.322 |
| predicted_SLG | 0.250 | -0.110 |
| predicted_SO | 1.000 | 0.086 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 0.000 | 1.000 | 5.000 | 5.000 | 5.000 | 0.2353 | 0.4091 | 0.4118 | 0.2353 | 0.0000 | 0.0588 | 0.2941 | 0.2941 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 1.000 | 1.000 | 0.000 | 1.000 | 5.000 | 6.000 | 7.000 | 0.1892 | 0.3023 | 0.2703 | 0.1892 | 0.0000 | 0.0270 | 0.1622 | 0.1892 |
| season | 0.60 | 68 | - | 259.000 | 61.000 | 13.000 | 1.000 | 8.000 | 22.000 | 41.000 | 29.000 | 63.000 | 0.2355 | 0.3138 | 0.3861 | 0.2355 | 0.0309 | 0.0849 | 0.1120 | 0.2432 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0670 |
| predicted_AB | 3.7140 |
| predicted_AVG | 0.2282 |
| predicted_BB | 0.5580 |
| predicted_H | 0.8480 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.3283 |
| predicted_R | 0.6550 |
| predicted_RBI | 0.2740 |
| predicted_SLG | 0.3720 |
| predicted_SO | 0.8940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.1760 | 0.1847 | model_form_blend |
| predicted_3B | 0.0150 | 0.0670 | 0.0370 | model_form_blend |
| predicted_AB | 4.3600 | 3.7140 | 4.0870 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2282 | 0.2292 | model_form_blend |
| predicted_BB | 0.4260 | 0.5580 | 0.4818 | model_form_blend |
| predicted_H | 1.0000 | 0.8480 | 0.9358 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1000 | 0.0750 | 0.0894 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3283 | 0.3247 | model_form_blend |
| predicted_R | 0.6030 | 0.6550 | 0.6250 | model_form_blend |
| predicted_RBI | 0.3500 | 0.2740 | 0.3179 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3720 | 0.3749 | model_form_blend |
| predicted_SO | 0.9260 | 0.8940 | 0.9125 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 212 |
| Season rows before report date | 212 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260705_TB@HOU |
| game_type | full |
| mlbID | 514888 |
| playerID | 514888 |
| playerName | Jose Altuve |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.309 |
| sl_xwoba | 0.292 |
| sl_xba | 0.231 |
| sl_xslg | 0.344 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 31.8 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 8.6 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 46.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.148 | 0.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.443 | 4.000 | 3.000 | Hitting_AB | 3.490 | 3.000 | 0.510 | 1.000 |
| predicted_AVG | 0.242 | 0.000 | 0.333 | Hitting_AVG | 0.220 | 0.333 | -0.220 | -0.333 |
| predicted_BB | 0.318 | 0.000 | 0.000 | Hitting_BB | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 0.810 | 0.000 | 1.000 | Hitting_H | 0.769 | 1.000 | -0.769 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.279 | 0.000 | 0.333 | Hitting_OBP | 0.307 | 0.333 | -0.307 | -0.333 |
| predicted_R | 0.409 | 0.000 | 0.000 | Hitting_R | 0.445 | 0.000 | -0.445 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.401 | 0.000 | -0.401 | 0.000 |
| predicted_SLG | 0.400 | 0.000 | 0.333 | Hitting_SLG | 0.353 | 0.333 | -0.353 | -0.333 |
| predicted_SO | 0.943 | 2.000 | 1.000 | Hitting_SO | 1.045 | 0.000 | 0.955 | 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.9430 -> 2.0000 (boost 1.0570, worse) |
| Biggest Deboost | predicted_H: 0.8100 -> 0.0000 (deboost -0.8100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 1 | 3 | - | predicted_SO: 0.9430 -> 0.8578 (deboost -0.0852, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2739 -> 0.2867 (boost 0.0128, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.8088 -> 1.0000 (boost 0.1912, better) | predicted_AB: 3.4877 -> 3.0000 (deboost -0.4877, worse) | AB rounded to 3 (raw=3.49), rates preserved: AVG=0.232 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4245 -> 0.0000 (deboost -0.4245, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2319 -> 0.3330 (boost 0.1011, better) | predicted_SLG: 0.3956 -> 0.3330 (deboost -0.0626, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 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.3956 (boost 0.0626, better) | predicted_AVG: 0.3330 -> 0.2319 (deboost -0.1011, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.148,
"predicted_3B": 0.011,
"predicted_AB": 3.443,
"predicted_AVG": 0.242,
"predicted_BB": 0.318,
"predicted_H": 0.81,
"predicted_HR": 0.13,
"predicted_OBP": 0.279,
"predicted_R": 0.409,
"predicted_RBI": 0.35,
"predicted_SLG": 0.4,
"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.1493,
"predicted_3B": 0.0097,
"predicted_AB": 3.4877,
"predicted_AVG": 0.2338,
"predicted_BB": 0.2681,
"predicted_H": 0.8015,
"predicted_HBP": 0.028,
"predicted_HR": 0.133,
"predicted_OBP": 0.2739,
"predicted_R": 0.4188,
"predicted_RBI": 0.3364,
"predicted_SLG": 0.3937,
"predicted_SO": 0.8578
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.1493,
"delta": 0.0013,
"percent_delta": 0.0088,
"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.443,
"after": 3.4877,
"delta": 0.0447,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2338,
"delta": -0.0082,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.2681,
"delta": -0.0499,
"percent_delta": -0.1569,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.8015,
"delta": -0.0085,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.133,
"delta": 0.003,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2739,
"delta": -0.0051,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.409,
"after": 0.4188,
"delta": 0.0098,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3364,
"delta": -0.0136,
"percent_delta": -0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3937,
"delta": -0.0063,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 0.8578,
"delta": -0.0852,
"percent_delta": -0.0903,
"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_SO",
"before": 0.943,
"after": 0.8578,
"delta": -0.0852,
"percent_delta": -0.0903,
"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": 88
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1493,
"predicted_3B": 0.0097,
"predicted_AB": 3.4877,
"predicted_AVG": 0.2319,
"predicted_BB": 0.2677,
"predicted_H": 0.8088,
"predicted_HBP": 0.028,
"predicted_HR": 0.134,
"predicted_OBP": 0.2867,
"predicted_R": 0.4245,
"predicted_RBI": 0.3409,
"predicted_SLG": 0.3956,
"predicted_SO": 0.859
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1493,
"after": 0.1493,
"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.4877,
"after": 3.4877,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2338,
"after": 0.2319,
"delta": -0.0019,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2681,
"after": 0.2677,
"delta": -0.0004,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8015,
"after": 0.8088,
"delta": 0.0073,
"percent_delta": 0.0091,
"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.133,
"after": 0.134,
"delta": 0.001,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2739,
"after": 0.2867,
"delta": 0.0128,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4188,
"after": 0.4245,
"delta": 0.0057,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3364,
"after": 0.3409,
"delta": 0.0045,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3937,
"after": 0.3956,
"delta": 0.0019,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8578,
"after": 0.859,
"delta": 0.0012,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2739,
"after": 0.2867,
"delta": 0.0128,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.49), rates preserved: AVG=0.232 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.1493,
"after": 0.0,
"delta": -0.1493,
"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.4877,
"after": 3.0,
"delta": -0.4877,
"percent_delta": -0.1398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2677,
"after": 0.0,
"delta": -0.2677,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8088,
"after": 1.0,
"delta": 0.1912,
"percent_delta": 0.2364,
"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.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3409,
"after": 0.0,
"delta": -0.3409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.859,
"after": 1.0,
"delta": 0.141,
"percent_delta": 0.1641,
"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.8088,
"after": 1.0,
"delta": 0.1912,
"percent_delta": 0.2364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4877,
"after": 3.0,
"delta": -0.4877,
"percent_delta": -0.1398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4245,
"after": 0.0,
"delta": -0.4245,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4245,
"after": 0.0,
"delta": -0.4245,
"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.2319,
"after": 0.333,
"delta": 0.1011,
"percent_delta": 0.436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3956,
"after": 0.333,
"delta": -0.0626,
"percent_delta": -0.1582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2319,
"after": 0.333,
"delta": 0.1011,
"percent_delta": 0.436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3956,
"after": 0.333,
"delta": -0.0626,
"percent_delta": -0.1582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 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.2319,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2867,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3956,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2319,
"delta": -0.1011,
"percent_delta": -0.3036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3956,
"delta": 0.0626,
"percent_delta": 0.1878,
"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.3956,
"delta": 0.0626,
"percent_delta": 0.1878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2319,
"delta": -0.1011,
"percent_delta": -0.3036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.443,
"after": 4.0,
"delta": 0.557,
"percent_delta": 0.1618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2319,
"delta": -0.0101,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.0,
"delta": -0.318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2867,
"delta": 0.0077,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"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.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3956,
"delta": -0.0044,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 2.0,
"delta": 1.057,
"percent_delta": 1.1209,
"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.943,
"after": 2.0,
"delta": 1.057,
"percent_delta": 1.1209,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.443 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.318 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.409 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.400 | - |
| 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.149 | 0.001 |
| predicted_3B | 0.010 | -0.001 |
| predicted_AB | 3.488 | 0.045 |
| predicted_AVG | 0.234 | -0.008 |
| predicted_BB | 0.268 | -0.050 |
| predicted_H | 0.801 | -0.009 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.133 | 0.003 |
| predicted_OBP | 0.274 | -0.005 |
| predicted_R | 0.419 | 0.010 |
| predicted_RBI | 0.336 | -0.014 |
| predicted_SLG | 0.394 | -0.006 |
| predicted_SO | 0.858 | -0.085 |
Step 3: 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.010 | 0.000 |
| predicted_AB | 3.488 | 0.000 |
| predicted_AVG | 0.232 | -0.002 |
| predicted_BB | 0.268 | -0.000 |
| predicted_H | 0.809 | 0.007 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.134 | 0.001 |
| predicted_OBP | 0.287 | 0.013 |
| predicted_R | 0.424 | 0.006 |
| predicted_RBI | 0.341 | 0.005 |
| predicted_SLG | 0.396 | 0.002 |
| predicted_SO | 0.859 | 0.001 |
AB rounded to 3 (raw=3.49), rates preserved: AVG=0.232 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 | 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.010 |
| predicted_AB | 3.000 | -0.488 |
| predicted_AVG | 0.333 | 0.101 |
| predicted_BB | 0.000 | -0.268 |
| predicted_H | 1.000 | 0.191 |
| predicted_HR | 0.000 | -0.134 |
| predicted_OBP | 0.333 | 0.046 |
| predicted_R | 0.000 | -0.424 |
| predicted_RBI | 0.000 | -0.341 |
| predicted_SLG | 0.333 | -0.063 |
| predicted_SO | 1.000 | 0.141 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 19.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.2105 | 0.2105 | 0.2632 | 0.2105 | 0.0000 | 0.0000 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 1.000 | 0.000 | 3.000 | 4.000 | 5.000 | 0.000 | 4.000 | 0.2286 | 0.2286 | 0.5143 | 0.2286 | 0.0857 | 0.1143 | 0.0000 | 0.1143 |
| season | 0.60 | 88 | - | 303.000 | 67.000 | 13.000 | 1.000 | 11.000 | 32.000 | 36.000 | 28.000 | 83.000 | 0.2211 | 0.2929 | 0.3795 | 0.2211 | 0.0363 | 0.1056 | 0.0924 | 0.2739 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.5480 |
| predicted_AVG | 0.2227 |
| predicted_BB | 0.2010 |
| predicted_H | 0.7900 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.1370 |
| predicted_OBP | 0.2670 |
| predicted_R | 0.4320 |
| predicted_RBI | 0.3180 |
| predicted_SLG | 0.3853 |
| predicted_SO | 0.7430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.1510 | 0.1493 | model_form_blend |
| predicted_3B | 0.0110 | 0.0080 | 0.0097 | model_form_blend |
| predicted_AB | 3.4430 | 3.5480 | 3.4877 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2227 | 0.2338 | model_form_blend |
| predicted_BB | 0.3180 | 0.2010 | 0.2681 | model_form_blend |
| predicted_H | 0.8100 | 0.7900 | 0.8015 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1300 | 0.1370 | 0.1330 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2670 | 0.2739 | model_form_blend |
| predicted_R | 0.4090 | 0.4320 | 0.4188 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3180 | 0.3364 | model_form_blend |
| predicted_SLG | 0.4000 | 0.3853 | 0.3937 | model_form_blend |
| predicted_SO | 0.9430 | 0.7430 | 0.8578 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 88 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 701358 |
| playerID | 701358 |
| playerName | Cam Smith |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.297 |
| sl_xwoba | 0.339 |
| sl_xba | 0.253 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 47.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.189 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.919 | 4.000 | 4.000 | Hitting_AB | 4.107 | 4.000 | -0.107 | 0.000 |
| predicted_AVG | 0.228 | 0.000 | 0.250 | Hitting_AVG | 0.241 | 0.250 | -0.241 | -0.250 |
| predicted_BB | 0.135 | 0.000 | 0.000 | Hitting_BB | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.850 | 0.000 | 1.000 | Hitting_H | 0.992 | 1.000 | -0.992 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.074 | 1.000 | -0.074 | -1.000 |
| predicted_OBP | 0.264 | 0.000 | 0.250 | Hitting_OBP | 0.262 | 0.250 | -0.262 | -0.250 |
| predicted_R | 0.351 | 0.000 | 0.000 | Hitting_R | 0.347 | 1.000 | -0.347 | -1.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.554 | 2.000 | -0.554 | -2.000 |
| predicted_SLG | 0.371 | 0.000 | 0.250 | Hitting_SLG | 0.342 | 1.000 | -0.342 | -1.000 |
| predicted_SO | 0.676 | 1.000 | 1.000 | Hitting_SO | 0.620 | 0.000 | 0.380 | 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.6760 -> 1.0000 (boost 0.3240, worse) |
| Biggest Deboost | predicted_H: 0.8500 -> 0.0000 (deboost -0.8500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2280 -> 0.2212 (deboost -0.0068, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2576 -> 0.2422 (deboost -0.0154, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.7124 -> 1.0000 (boost 0.2876, worse) | predicted_RBI: 0.4789 -> 0.0000 (deboost -0.4789, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.215 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3798 -> 0.0000 (deboost -0.3798, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2165 -> 0.2500 (boost 0.0335, better) | predicted_SLG: 0.3613 -> 0.2500 (deboost -0.1113, 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.3613 (boost 0.1113, better) | predicted_AVG: 0.2500 -> 0.2165 (deboost -0.0335, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673237",
"player_name": "Yainer Diaz",
"position": "C",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.0,
"predicted_AB": 3.919,
"predicted_AVG": 0.228,
"predicted_BB": 0.135,
"predicted_H": 0.85,
"predicted_HR": 0.12,
"predicted_OBP": 0.264,
"predicted_R": 0.351,
"predicted_RBI": 0.46,
"predicted_SLG": 0.371,
"predicted_SO": 0.676
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1697,
"predicted_3B": 0.0012,
"predicted_AB": 3.8953,
"predicted_AVG": 0.2212,
"predicted_BB": 0.1322,
"predicted_H": 0.8359,
"predicted_HBP": 0.07,
"predicted_HR": 0.1296,
"predicted_OBP": 0.2576,
"predicted_R": 0.3747,
"predicted_RBI": 0.4725,
"predicted_SLG": 0.3668,
"predicted_SO": 0.7114
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.1697,
"delta": -0.0193,
"percent_delta": -0.1021,
"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.919,
"after": 3.8953,
"delta": -0.0237,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2212,
"delta": -0.0068,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.135,
"after": 0.1322,
"delta": -0.0028,
"percent_delta": -0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8359,
"delta": -0.0141,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1296,
"delta": 0.0096,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2576,
"delta": -0.0064,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 0.3747,
"delta": 0.0237,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4725,
"delta": 0.0125,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3668,
"delta": -0.0042,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.676,
"after": 0.7114,
"delta": 0.0354,
"percent_delta": 0.0524,
"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.228,
"after": 0.2212,
"delta": -0.0068,
"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": 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.1697,
"predicted_3B": 0.0012,
"predicted_AB": 3.8953,
"predicted_AVG": 0.2165,
"predicted_BB": 0.132,
"predicted_H": 0.8435,
"predicted_HBP": 0.07,
"predicted_HR": 0.1306,
"predicted_OBP": 0.2422,
"predicted_R": 0.3798,
"predicted_RBI": 0.4789,
"predicted_SLG": 0.3613,
"predicted_SO": 0.7124
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1697,
"after": 0.1697,
"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.8953,
"after": 3.8953,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2212,
"after": 0.2165,
"delta": -0.0047,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1322,
"after": 0.132,
"delta": -0.0002,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8359,
"after": 0.8435,
"delta": 0.0076,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1296,
"after": 0.1306,
"delta": 0.001,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2576,
"after": 0.2422,
"delta": -0.0154,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3747,
"after": 0.3798,
"delta": 0.0051,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4725,
"after": 0.4789,
"delta": 0.0064,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3668,
"after": 0.3613,
"delta": -0.0055,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7114,
"after": 0.7124,
"delta": 0.001,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2576,
"after": 0.2422,
"delta": -0.0154,
"percent_delta": -0.0598,
"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.215 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1697,
"after": 0.0,
"delta": -0.1697,
"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.8953,
"after": 4.0,
"delta": 0.1047,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8435,
"after": 1.0,
"delta": 0.1565,
"percent_delta": 0.1855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1306,
"after": 0.0,
"delta": -0.1306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4789,
"after": 0.0,
"delta": -0.4789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7124,
"after": 1.0,
"delta": 0.2876,
"percent_delta": 0.4037,
"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.7124,
"after": 1.0,
"delta": 0.2876,
"percent_delta": 0.4037,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4789,
"after": 0.0,
"delta": -0.4789,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.3798,
"after": 0.0,
"delta": -0.3798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3798,
"after": 0.0,
"delta": -0.3798,
"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.2165,
"after": 0.25,
"delta": 0.0335,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2422,
"after": 0.25,
"delta": 0.0078,
"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_SLG",
"before": 0.3613,
"after": 0.25,
"delta": -0.1113,
"percent_delta": -0.3081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2165,
"after": 0.25,
"delta": 0.0335,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3613,
"after": 0.25,
"delta": -0.1113,
"percent_delta": -0.3081,
"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.2165,
"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.2422,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3613,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2165,
"delta": -0.0335,
"percent_delta": -0.1338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2422,
"delta": -0.0078,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3613,
"delta": 0.1113,
"percent_delta": 0.4452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3613,
"delta": 0.1113,
"percent_delta": 0.4452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2165,
"delta": -0.0335,
"percent_delta": -0.1338,
"direction": "deboost",
"projection_effect": "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.919,
"after": 4.0,
"delta": 0.081,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2165,
"delta": -0.0115,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2422,
"delta": -0.0218,
"percent_delta": -0.0826,
"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.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3613,
"delta": -0.0097,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.676,
"after": 1.0,
"delta": 0.324,
"percent_delta": 0.4793,
"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.676,
"after": 1.0,
"delta": 0.324,
"percent_delta": 0.4793,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.919 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.135 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.264 | - |
| predicted_R | 0.351 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 0.676 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.895 | -0.024 |
| predicted_AVG | 0.221 | -0.007 |
| predicted_BB | 0.132 | -0.003 |
| predicted_H | 0.836 | -0.014 |
| predicted_HBP | 0.070 | - |
| predicted_HR | 0.130 | 0.010 |
| predicted_OBP | 0.258 | -0.006 |
| predicted_R | 0.375 | 0.024 |
| predicted_RBI | 0.472 | 0.012 |
| predicted_SLG | 0.367 | -0.004 |
| predicted_SO | 0.711 | 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.170 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.895 | 0.000 |
| predicted_AVG | 0.216 | -0.005 |
| predicted_BB | 0.132 | -0.000 |
| predicted_H | 0.844 | 0.008 |
| predicted_HBP | 0.070 | 0.000 |
| predicted_HR | 0.131 | 0.001 |
| predicted_OBP | 0.242 | -0.015 |
| predicted_R | 0.380 | 0.005 |
| predicted_RBI | 0.479 | 0.006 |
| predicted_SLG | 0.361 | -0.006 |
| predicted_SO | 0.712 | 0.001 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.215 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 | 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.170 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.105 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.132 |
| predicted_H | 1.000 | 0.156 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.250 | 0.008 |
| predicted_R | 0.000 | -0.380 |
| predicted_RBI | 0.000 | -0.479 |
| predicted_SLG | 0.250 | -0.111 |
| predicted_SO | 1.000 | 0.288 |
Attached simulation box 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 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 5.000 | 0.1053 | 0.1500 | 0.2632 | 0.1053 | 0.0526 | 0.1579 | 0.0000 | 0.2632 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 1.000 | 0.000 | 2.000 | 4.000 | 5.000 | 1.000 | 7.000 | 0.2105 | 0.2500 | 0.3947 | 0.2105 | 0.0526 | 0.1053 | 0.0263 | 0.1842 |
| season | 0.60 | 37 | - | 145.000 | 34.000 | 7.000 | 0.000 | 4.000 | 18.000 | 13.000 | 5.000 | 25.000 | 0.2345 | 0.2614 | 0.3655 | 0.2345 | 0.0276 | 0.1241 | 0.0345 | 0.1724 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1410 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.8600 |
| predicted_AVG | 0.2111 |
| predicted_BB | 0.1280 |
| predicted_H | 0.8150 |
| predicted_HBP | 0.0700 |
| predicted_HR | 0.1440 |
| predicted_OBP | 0.2482 |
| predicted_R | 0.4100 |
| predicted_RBI | 0.4910 |
| predicted_SLG | 0.3605 |
| predicted_SO | 0.7640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1410 | 0.1697 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.9190 | 3.8600 | 3.8953 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2111 | 0.2212 | model_form_blend |
| predicted_BB | 0.1350 | 0.1280 | 0.1322 | model_form_blend |
| predicted_H | 0.8500 | 0.8150 | 0.8359 | model_form_blend |
| predicted_HBP | - | 0.0700 | 0.0700 | form_only |
| predicted_HR | 0.1200 | 0.1440 | 0.1296 | model_form_blend |
| predicted_OBP | 0.2640 | 0.2482 | 0.2576 | model_form_blend |
| predicted_R | 0.3510 | 0.4100 | 0.3747 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4910 | 0.4725 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3605 | 0.3668 | model_form_blend |
| predicted_SO | 0.6760 | 0.7640 | 0.7114 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 37 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260704_TB@HOU |
| game_type | full |
| mlbID | 673237 |
| playerID | 673237 |
| playerName | Yainer Diaz |
| pos | C |
| started | True |
| startingPosition | C |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-04 |
| sl_k_percent | 16.6 |
| sl_bb_percent | 3.2 |
| sl_woba | 0.271 |
| sl_xwoba | 0.277 |
| sl_xba | 0.247 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 25.6 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 31.2 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 4.7 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 56.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.083 | 4.000 | 3.000 | Hitting_AB | 3.321 | 2.000 | 0.679 | 2.000 |
| predicted_AVG | 0.230 | 0.000 | 0.333 | Hitting_AVG | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_BB | 0.083 | 0.000 | 0.000 | Hitting_BB | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.230 | 0.000 | 1.000 | Hitting_H | 0.795 | 0.000 | -0.795 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.230 | 0.000 | 0.333 | Hitting_OBP | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_R | 0.292 | 0.000 | 0.000 | Hitting_R | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_SLG | 0.326 | 0.000 | 0.333 | Hitting_SLG | 0.367 | 0.000 | -0.367 | 0.000 |
| predicted_SO | 0.542 | 3.000 | 1.000 | Hitting_SO | 0.628 | 1.000 | 2.372 | 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.5420 -> 3.0000 (boost 2.4580, worse) |
| Biggest Deboost | predicted_R: 0.2920 -> 0.0000 (deboost -0.2920, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_H: 0.2300 -> 0.3731 (boost 0.1431, better) | predicted_AVG: 0.2300 -> 0.2177 (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.3229 -> 0.2104 (deboost -0.1125, 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.5612 -> 1.0000 (boost 0.4388, worse) | predicted_H: 0.3765 -> 0.0000 (deboost -0.3765, worse) | AB rounded to 3 (raw=3.11), rates preserved: AVG=0.121 HR/AB=0.016 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3046 -> 0.0000 (deboost -0.3046, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1212 -> 0.3330 (boost 0.2118, 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_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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1212 (deboost -0.2118, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669699",
"player_name": "Braden Shewmake",
"position": "SS",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 3.083,
"predicted_AVG": 0.23,
"predicted_BB": 0.083,
"predicted_H": 0.23,
"predicted_HR": 0.03,
"predicted_OBP": 0.23,
"predicted_R": 0.292,
"predicted_RBI": 0.13,
"predicted_SLG": 0.326,
"predicted_SO": 0.542
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.121,
"predicted_3B": 0.0015,
"predicted_AB": 3.1062,
"predicted_AVG": 0.2177,
"predicted_BB": 0.1146,
"predicted_H": 0.3731,
"predicted_HBP": 0.008,
"predicted_HR": 0.0506,
"predicted_OBP": 0.2326,
"predicted_R": 0.3005,
"predicted_RBI": 0.197,
"predicted_SLG": 0.3229,
"predicted_SO": 0.5604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.121,
"delta": -0.004,
"percent_delta": -0.032,
"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.083,
"after": 3.1062,
"delta": 0.0232,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2177,
"delta": -0.0123,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.083,
"after": 0.1146,
"delta": 0.0316,
"percent_delta": 0.3807,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.3731,
"delta": 0.1431,
"percent_delta": 0.6222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0506,
"delta": 0.0206,
"percent_delta": 0.6867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.23,
"after": 0.2326,
"delta": 0.0026,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.3005,
"delta": 0.0085,
"percent_delta": 0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.197,
"delta": 0.067,
"percent_delta": 0.5154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3229,
"delta": -0.0031,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.542,
"after": 0.5604,
"delta": 0.0184,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_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.23,
"after": 0.3731,
"delta": 0.1431,
"percent_delta": 0.6222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2177,
"delta": -0.0123,
"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": 24
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.121,
"predicted_3B": 0.0015,
"predicted_AB": 3.1062,
"predicted_AVG": 0.1212,
"predicted_BB": 0.1144,
"predicted_H": 0.3765,
"predicted_HBP": 0.008,
"predicted_HR": 0.051,
"predicted_OBP": 0.1524,
"predicted_R": 0.3046,
"predicted_RBI": 0.1997,
"predicted_SLG": 0.2104,
"predicted_SO": 0.5612
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.121,
"after": 0.121,
"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.1062,
"after": 3.1062,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2177,
"after": 0.1212,
"delta": -0.0965,
"percent_delta": -0.4433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1146,
"after": 0.1144,
"delta": -0.0002,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3731,
"after": 0.3765,
"delta": 0.0034,
"percent_delta": 0.0091,
"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.0506,
"after": 0.051,
"delta": 0.0004,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2326,
"after": 0.1524,
"delta": -0.0802,
"percent_delta": -0.3448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3005,
"after": 0.3046,
"delta": 0.0041,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.197,
"after": 0.1997,
"delta": 0.0027,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3229,
"after": 0.2104,
"delta": -0.1125,
"percent_delta": -0.3484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5604,
"after": 0.5612,
"delta": 0.0008,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3229,
"after": 0.2104,
"delta": -0.1125,
"percent_delta": -0.3484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.11), rates preserved: AVG=0.121 HR/AB=0.016",
"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.121,
"after": 0.0,
"delta": -0.121,
"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.1062,
"after": 3.0,
"delta": -0.1062,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1144,
"after": 0.0,
"delta": -0.1144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3765,
"after": 0.0,
"delta": -0.3765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1997,
"after": 0.0,
"delta": -0.1997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5612,
"after": 1.0,
"delta": 0.4388,
"percent_delta": 0.7819,
"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.5612,
"after": 1.0,
"delta": 0.4388,
"percent_delta": 0.7819,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3765,
"after": 0.0,
"delta": -0.3765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3046,
"after": 0.0,
"delta": -0.3046,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3046,
"after": 0.0,
"delta": -0.3046,
"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.1212,
"after": 0.333,
"delta": 0.2118,
"percent_delta": 1.7475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1524,
"after": 0.333,
"delta": 0.1806,
"percent_delta": 1.185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2104,
"after": 0.333,
"delta": 0.1226,
"percent_delta": 0.5827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1212,
"after": 0.333,
"delta": 0.2118,
"percent_delta": 1.7475,
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"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.1212,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1524,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2104,
"predicted_SO": 3.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1212,
"delta": -0.2118,
"percent_delta": -0.636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1524,
"delta": -0.1806,
"percent_delta": -0.5422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2104,
"delta": -0.1226,
"percent_delta": -0.3682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1212,
"delta": -0.2118,
"percent_delta": -0.636,
"direction": "deboost",
"projection_effect": "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.083,
"after": 4.0,
"delta": 0.917,
"percent_delta": 0.2974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.1212,
"delta": -0.1088,
"percent_delta": -0.473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.23,
"after": 0.1524,
"delta": -0.0776,
"percent_delta": -0.3374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.2104,
"delta": -0.1156,
"percent_delta": -0.3546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.542,
"after": 3.0,
"delta": 2.458,
"percent_delta": 4.5351,
"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.542,
"after": 3.0,
"delta": 2.458,
"percent_delta": 4.5351,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.083 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.083 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.230 | - |
| predicted_R | 0.292 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.326 | - |
| predicted_SO | 0.542 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.106 | 0.023 |
| predicted_AVG | 0.218 | -0.012 |
| predicted_BB | 0.115 | 0.032 |
| predicted_H | 0.373 | 0.143 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.051 | 0.021 |
| predicted_OBP | 0.233 | 0.003 |
| predicted_R | 0.300 | 0.009 |
| predicted_RBI | 0.197 | 0.067 |
| predicted_SLG | 0.323 | -0.003 |
| predicted_SO | 0.560 | 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.121 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.106 | 0.000 |
| predicted_AVG | 0.121 | -0.097 |
| predicted_BB | 0.114 | -0.000 |
| predicted_H | 0.377 | 0.003 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.051 | 0.000 |
| predicted_OBP | 0.152 | -0.080 |
| predicted_R | 0.305 | 0.004 |
| predicted_RBI | 0.200 | 0.003 |
| predicted_SLG | 0.210 | -0.113 |
| predicted_SO | 0.561 | 0.001 |
AB rounded to 3 (raw=3.11), rates preserved: AVG=0.121 HR/AB=0.016
| 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.121 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.106 |
| predicted_AVG | 0.333 | 0.212 |
| predicted_BB | 0.000 | -0.114 |
| predicted_H | 1.000 | 0.623 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.333 | 0.181 |
| predicted_R | 0.000 | -0.305 |
| predicted_RBI | 0.000 | -0.200 |
| predicted_SLG | 0.333 | 0.123 |
| predicted_SO | 1.000 | 0.439 |
Attached simulation box 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 | 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 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 0.0769 | 0.1333 | 0.0769 | 0.0769 | 0.0000 | 0.0769 | 0.0769 | 0.1538 |
| last_10 | 0.20 | 10 | - | 26.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 5.000 | 0.0769 | 0.1379 | 0.1154 | 0.0769 | 0.0000 | 0.0385 | 0.0769 | 0.1923 |
| season | 0.60 | 24 | - | 74.000 | 18.000 | 3.000 | 0.000 | 3.000 | 8.000 | 7.000 | 2.000 | 13.000 | 0.2432 | 0.2597 | 0.4054 | 0.2432 | 0.0405 | 0.1081 | 0.0270 | 0.1757 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1140 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.1460 |
| predicted_AVG | 0.1967 |
| predicted_BB | 0.1690 |
| predicted_H | 0.6190 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.2370 |
| predicted_R | 0.3150 |
| predicted_RBI | 0.3120 |
| predicted_SLG | 0.3175 |
| predicted_SO | 0.5920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1140 | 0.1210 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.0830 | 3.1460 | 3.1062 | model_form_blend |
| predicted_AVG | 0.2300 | 0.1967 | 0.2177 | model_form_blend |
| predicted_BB | 0.0830 | 0.1690 | 0.1146 | model_form_blend |
| predicted_H | 0.2300 | 0.6190 | 0.3731 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0300 | 0.0860 | 0.0506 | model_form_blend |
| predicted_OBP | 0.2300 | 0.2370 | 0.2326 | model_form_blend |
| predicted_R | 0.2920 | 0.3150 | 0.3005 | model_form_blend |
| predicted_RBI | 0.1300 | 0.3120 | 0.1970 | model_form_blend |
| predicted_SLG | 0.3260 | 0.3175 | 0.3229 | model_form_blend |
| predicted_SO | 0.5420 | 0.5920 | 0.5604 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 78 |
| Season rows before report date | 78 |
| Report year | 2026 |
| Profile rows used | 24 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260530_MIL@HOU |
| game_type | full |
| mlbID | 669699 |
| playerID | 669699 |
| playerName | Braden Shewmake |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-30 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 2.5 |
| sl_woba | 0.286 |
| sl_xwoba | 0.281 |
| sl_xba | 0.236 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 35.9 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 62.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.075 | 0.000 | 0.000 | Hitting_2B | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 2.836 | 4.000 | 3.000 | Hitting_AB | 3.219 | 0.000 | 0.781 | 4.000 |
| predicted_AVG | 0.226 | 0.000 | 0.000 | Hitting_AVG | 0.204 | - | -0.204 | - |
| predicted_BB | 0.194 | 0.000 | 0.000 | Hitting_BB | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_H | 0.510 | 0.000 | 0.000 | Hitting_H | 0.656 | 0.000 | -0.656 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.233 | 0.000 | 0.000 | Hitting_OBP | 0.257 | - | -0.257 | - |
| predicted_R | 0.284 | 0.000 | 0.000 | Hitting_R | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_RBI | 0.230 | 0.000 | 0.000 | Hitting_RBI | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_SLG | 0.283 | 0.000 | 0.000 | Hitting_SLG | 0.336 | - | -0.336 | - |
| predicted_SO | 0.985 | 1.000 | 1.000 | Hitting_SO | 1.022 | 0.000 | -0.022 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.8360 -> 4.0000 (boost 1.1640, better) |
| Biggest Deboost | predicted_H: 0.5100 -> 0.0000 (deboost -0.5100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 0.5100 -> 0.4518 (deboost -0.0582, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2592 -> 0.2663 (boost 0.0071, better) | predicted_AVG: 0.1888 -> 0.1635 (deboost -0.0253, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 2.7881 -> 3.0000 (boost 0.2119, better) | predicted_H: 0.4559 -> 0.0000 (deboost -0.4559, worse) | AB rounded to 3 (raw=2.84), rates preserved: AVG=0.161 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2849 -> 0.0000 (deboost -0.2849, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2663 -> 0.0000 (deboost -0.2663, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.0000 -> 0.2663 (boost 0.2663, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694728",
"player_name": "Brice Matthews",
"position": "CF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.075,
"predicted_3B": 0.015,
"predicted_AB": 2.836,
"predicted_AVG": 0.226,
"predicted_BB": 0.194,
"predicted_H": 0.51,
"predicted_HR": 0.07,
"predicted_OBP": 0.233,
"predicted_R": 0.284,
"predicted_RBI": 0.23,
"predicted_SLG": 0.283,
"predicted_SO": 0.985
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0663,
"predicted_3B": 0.0125,
"predicted_AB": 2.7881,
"predicted_AVG": 0.1888,
"predicted_BB": 0.201,
"predicted_H": 0.4518,
"predicted_HBP": 0.003,
"predicted_HR": 0.0646,
"predicted_OBP": 0.219,
"predicted_R": 0.2811,
"predicted_RBI": 0.2061,
"predicted_SLG": 0.2592,
"predicted_SO": 0.9388
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.075,
"after": 0.0663,
"delta": -0.0087,
"percent_delta": -0.116,
"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.836,
"after": 2.7881,
"delta": -0.0479,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.1888,
"delta": -0.0372,
"percent_delta": -0.1646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.194,
"after": 0.201,
"delta": 0.007,
"percent_delta": 0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.51,
"after": 0.4518,
"delta": -0.0582,
"percent_delta": -0.1141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0646,
"delta": -0.0054,
"percent_delta": -0.0771,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.233,
"after": 0.219,
"delta": -0.014,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.284,
"after": 0.2811,
"delta": -0.0029,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.2061,
"delta": -0.0239,
"percent_delta": -0.1039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.283,
"after": 0.2592,
"delta": -0.0238,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.985,
"after": 0.9388,
"delta": -0.0462,
"percent_delta": -0.0469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.51,
"after": 0.4518,
"delta": -0.0582,
"percent_delta": -0.1141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0663,
"predicted_3B": 0.0125,
"predicted_AB": 2.7881,
"predicted_AVG": 0.1635,
"predicted_BB": 0.2007,
"predicted_H": 0.4559,
"predicted_HBP": 0.003,
"predicted_HR": 0.0651,
"predicted_OBP": 0.2197,
"predicted_R": 0.2849,
"predicted_RBI": 0.2089,
"predicted_SLG": 0.2663,
"predicted_SO": 0.9401
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0663,
"after": 0.0663,
"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.7881,
"after": 2.7881,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1888,
"after": 0.1635,
"delta": -0.0253,
"percent_delta": -0.134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.201,
"after": 0.2007,
"delta": -0.0003,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4518,
"after": 0.4559,
"delta": 0.0041,
"percent_delta": 0.0091,
"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.0646,
"after": 0.0651,
"delta": 0.0005,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.219,
"after": 0.2197,
"delta": 0.0007,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2811,
"after": 0.2849,
"delta": 0.0038,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2061,
"after": 0.2089,
"delta": 0.0028,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2592,
"after": 0.2663,
"delta": 0.0071,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9388,
"after": 0.9401,
"delta": 0.0013,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2592,
"after": 0.2663,
"delta": 0.0071,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1888,
"after": 0.1635,
"delta": -0.0253,
"percent_delta": -0.134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.84), rates preserved: AVG=0.161 HR/AB=0.023",
"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.0663,
"after": 0.0,
"delta": -0.0663,
"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.7881,
"after": 3.0,
"delta": 0.2119,
"percent_delta": 0.076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2007,
"after": 0.0,
"delta": -0.2007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4559,
"after": 0.0,
"delta": -0.4559,
"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.0651,
"after": 0.0,
"delta": -0.0651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2089,
"after": 0.0,
"delta": -0.2089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9401,
"after": 1.0,
"delta": 0.0599,
"percent_delta": 0.0637,
"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.7881,
"after": 3.0,
"delta": 0.2119,
"percent_delta": 0.076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4559,
"after": 0.0,
"delta": -0.4559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2849,
"after": 0.0,
"delta": -0.2849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.2849,
"after": 0.0,
"delta": -0.2849,
"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.1635,
"after": 0.0,
"delta": -0.1635,
"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.2197,
"after": 0.0,
"delta": -0.2197,
"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.2663,
"after": 0.0,
"delta": -0.2663,
"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.2663,
"after": 0.0,
"delta": -0.2663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1635,
"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.2197,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2663,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1635,
"delta": 0.1635,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.0,
"after": 0.2197,
"delta": 0.2197,
"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.2663,
"delta": 0.2663,
"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.2663,
"delta": 0.2663,
"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.075,
"after": 0.0,
"delta": -0.075,
"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.836,
"after": 4.0,
"delta": 1.164,
"percent_delta": 0.4104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.1635,
"delta": -0.0625,
"percent_delta": -0.2765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.194,
"after": 0.0,
"delta": -0.194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"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.233,
"after": 0.2197,
"delta": -0.0133,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"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.283,
"after": 0.2663,
"delta": -0.0167,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.985,
"after": 1.0,
"delta": 0.015,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.836,
"after": 4.0,
"delta": 1.164,
"percent_delta": 0.4104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.075 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.836 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.194 | - |
| predicted_H | 0.510 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.233 | - |
| predicted_R | 0.284 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.283 | - |
| predicted_SO | 0.985 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.066 | -0.009 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 2.788 | -0.048 |
| predicted_AVG | 0.189 | -0.037 |
| predicted_BB | 0.201 | 0.007 |
| predicted_H | 0.452 | -0.058 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.065 | -0.005 |
| predicted_OBP | 0.219 | -0.014 |
| predicted_R | 0.281 | -0.003 |
| predicted_RBI | 0.206 | -0.024 |
| predicted_SLG | 0.259 | -0.024 |
| predicted_SO | 0.939 | -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.066 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 2.788 | 0.000 |
| predicted_AVG | 0.164 | -0.025 |
| predicted_BB | 0.201 | -0.000 |
| predicted_H | 0.456 | 0.004 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.065 | 0.001 |
| predicted_OBP | 0.220 | 0.001 |
| predicted_R | 0.285 | 0.004 |
| predicted_RBI | 0.209 | 0.003 |
| predicted_SLG | 0.266 | 0.007 |
| predicted_SO | 0.940 | 0.001 |
AB rounded to 3 (raw=2.84), rates preserved: AVG=0.161 HR/AB=0.023
| 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.066 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | 0.212 |
| predicted_AVG | 0.000 | -0.164 |
| predicted_BB | 0.000 | -0.201 |
| predicted_H | 0.000 | -0.456 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.000 | -0.220 |
| predicted_R | 0.000 | -0.285 |
| predicted_RBI | 0.000 | -0.209 |
| predicted_SLG | 0.000 | -0.266 |
| predicted_SO | 1.000 | 0.060 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 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 | - | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.0000 | 0.0909 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 23.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 10.000 | 0.0435 | 0.1200 | 0.0435 | 0.0435 | 0.0000 | 0.0000 | 0.0870 | 0.4348 |
| season | 0.60 | 67 | - | 190.000 | 35.000 | 5.000 | 1.000 | 6.000 | 17.000 | 19.000 | 13.000 | 66.000 | 0.1842 | 0.2353 | 0.3158 | 0.1842 | 0.0316 | 0.0895 | 0.0684 | 0.3474 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0540 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.7200 |
| predicted_AVG | 0.1357 |
| predicted_BB | 0.2110 |
| predicted_H | 0.3690 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0570 |
| predicted_OBP | 0.1991 |
| predicted_R | 0.2770 |
| predicted_RBI | 0.1720 |
| predicted_SLG | 0.2253 |
| predicted_SO | 0.8730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0750 | 0.0540 | 0.0663 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0125 | model_form_blend |
| predicted_AB | 2.8360 | 2.7200 | 2.7881 | model_form_blend |
| predicted_AVG | 0.2260 | 0.1357 | 0.1888 | model_form_blend |
| predicted_BB | 0.1940 | 0.2110 | 0.2010 | model_form_blend |
| predicted_H | 0.5100 | 0.3690 | 0.4518 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0700 | 0.0570 | 0.0646 | model_form_blend |
| predicted_OBP | 0.2330 | 0.1991 | 0.2190 | model_form_blend |
| predicted_R | 0.2840 | 0.2770 | 0.2811 | model_form_blend |
| predicted_RBI | 0.2300 | 0.1720 | 0.2061 | model_form_blend |
| predicted_SLG | 0.2830 | 0.2253 | 0.2592 | model_form_blend |
| predicted_SO | 0.9850 | 0.8730 | 0.9388 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 183 |
| Season rows before report date | 183 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.184 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_TB@HOU |
| game_type | short |
| mlbID | 694728 |
| playerID | 694728 |
| playerName | Brice Matthews |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.25 |
| sl_xwoba | 0.262 |
| sl_xba | 0.192 |
| sl_xslg | 0.344 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 36.7 |
| sl_swing_percent | 46.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.941 | 2.000 | -1.941 | -2.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 3.294 | 4.000 | 1.706 | 1.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 6.059 | 6.000 | 0.941 | 1.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 5.218 | 5.000 | -1.218 | -1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 4.235 | 3.000 | -3.235 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 5.3333 -> 4.0000 (deboost -1.3333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 4.0000 (deboost -1.3333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681347",
"player_name": "Mike Burrows",
"position": "Starter",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 5.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 4.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3333,
"after": 4.0,
"delta": -1.3333,
"percent_delta": -0.25,
"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": 5.3333,
"after": 4.0,
"delta": -1.3333,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 4.0,
"predicted_R": 5.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3333,
"after": 4.0,
"delta": -1.3333,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 4.0,
"delta": -1.3333,
"percent_delta": -0.25,
"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 | 5.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 0.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 5.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 4.000 | -1.333 |
| 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 | 22.000 | 13.000 | 24.000 | 7.000 | 15.000 | 4.000 | 5.3182 | 1.4091 | 0.5909 | 1.0909 | 0.3182 | 0.6818 | 0.1818 |
| last_10 | 0.35 | 10 | 52.200 | 31.000 | 54.000 | 20.000 | 36.000 | 11.000 | 5.2975 | 1.4051 | 0.5886 | 1.0253 | 0.3797 | 0.6835 | 0.2089 |
| season | 0.20 | 17 | 90.100 | 56.000 | 103.000 | 33.000 | 72.000 | 19.000 | 5.5793 | 1.5055 | 0.6199 | 1.1402 | 0.3653 | 0.7971 | 0.2103 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7500 |
| predicted_ER | 2.8670 |
| predicted_ERA | 5.1753 |
| predicted_H | 5.2510 |
| predicted_HR | 0.9280 |
| predicted_IP | 5.0000 |
| predicted_SO | 3.7990 |
| predicted_WHIP | 1.4042 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.7500 | 0.9694 | model_form_blend |
| predicted_ER | 5.0000 | 2.8670 | 3.8184 | model_form_blend |
| predicted_ERA | - | 5.1753 | 5.1753 | form_only |
| predicted_H | 7.0000 | 5.2510 | 6.0311 | model_form_blend |
| predicted_HR | 2.0000 | 0.9280 | 1.4061 | model_form_blend |
| predicted_IP | 5.1000 | 5.0000 | 5.1000 | model_form_blend |
| predicted_SO | 0.0000 | 3.7990 | 2.1045 | model_form_blend |
| predicted_WHIP | - | 1.4042 | 1.4042 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 7 |
| R | 5 |
| ER | 5 |
| BB | 0 |
| SO | 1 |
| HR | 2 |
| BF | 19 |
| Pitches | 85 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 4 |
| Pitching_ERA | 5.58 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 6 |
| Pitching_H | 6 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 90 |
| Pitching_R | 4 |
| Pitching_SO | 3 |
| Pitching_Strikes | 58 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260630_MIN@HOU |
| game_type | full |
| mlbID | 681347 |
| playerID | 681347 |
| playerName | Mike Burrows |
| pos | P |
| started | True |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-30 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.368 |
| sl_xwoba | 0.332 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 37.7 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 76.835215903 |
| sl_avg_hyper_speed | 93.730637213 |
| 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.378 | 0.000 | -0.378 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.865 | 1.000 | -0.865 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.922 | 1.000 | 0.078 | 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 | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687911",
"player_name": "Bryan King",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.6000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 5.000 | 2.000 | 7.000 | 0.000 | 0.9310 | 0.7241 | 0.1035 | 0.5172 | 0.2069 | 0.7241 | 0.0000 |
| season | 0.20 | 37 | 39.000 | 9.000 | 32.000 | 14.000 | 30.000 | 1.000 | 2.0769 | 1.1795 | 0.2308 | 0.8205 | 0.3590 | 0.7692 | 0.0256 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2280 |
| predicted_ER | 0.2480 |
| predicted_ERA | 2.2313 |
| predicted_H | 0.7540 |
| predicted_HR | 0.0620 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8410 |
| predicted_WHIP | 0.9822 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2280 | 0.1104 | model_form_blend |
| predicted_ER | 0.0000 | 0.2480 | 0.1201 | model_form_blend |
| predicted_ERA | - | 2.2313 | 2.2313 | form_only |
| predicted_H | 0.0000 | 0.7540 | 0.3650 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0300 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8410 | 0.9230 | model_form_blend |
| predicted_WHIP | - | 0.9822 | 0.9822 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.08 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 687911 |
| playerID | 687911 |
| playerName | Bryan King |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.272 |
| sl_xwoba | 0.289 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 1.8 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 18.2 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 75.696487018 |
| sl_avg_hyper_speed | 93.024011062 |
| 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.467 | 1.000 | -0.467 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.600 | 2.000 | -0.600 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623352",
"player_name": "Josh Hader",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 0.000 | 5.000 | 8.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.0000 | 1.0000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 2.000 | 6.000 | 17.000 | 1.000 | 0.9000 | 0.8000 | 0.1000 | 0.2000 | 0.6000 | 1.7000 | 0.1000 |
| season | 0.20 | 15 | 15.000 | 1.000 | 2.000 | 7.000 | 24.000 | 1.000 | 0.6000 | 0.6000 | 0.0667 | 0.1333 | 0.4667 | 1.6000 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5050 |
| predicted_ER | 0.3340 |
| predicted_ERA | 3.0067 |
| predicted_H | 0.6440 |
| predicted_HR | 0.1120 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2080 |
| predicted_WHIP | 1.1490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5050 | 0.1945 | model_form_blend |
| predicted_ER | 0.0000 | 0.3340 | 0.1286 | model_form_blend |
| predicted_ERA | - | 3.0067 | 3.0067 | form_only |
| predicted_H | 0.0000 | 0.6440 | 0.2480 | model_form_blend |
| predicted_HR | 0.0000 | 0.1120 | 0.0431 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2080 | 1.0801 | model_form_blend |
| predicted_WHIP | - | 1.1490 | 1.1490 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 9 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.60 |
| Pitching_Flyouts | 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 | 21 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 623352 |
| playerID | 623352 |
| playerName | Josh Hader |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 44.4 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.145 |
| sl_xwoba | 0.146 |
| sl_sweet_spot_percent | 21.7 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 13.0 |
| sl_whiff_percent | 40.8 |
| sl_swing_percent | 54.4 |
| sl_avg_best_speed | 66.347536667 |
| sl_avg_hyper_speed | 90.10123913 |
| 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.279 | 0.000 | -0.279 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.605 | 0.000 | -0.605 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.856 | 1.100 | -0.656 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.953 | 1.000 | -0.953 | -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": "595345",
"player_name": "Steven Okert",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 2.000 | 1.000 | 5.000 | 2.000 | 3.6000 | 0.6000 | 0.4000 | 0.4000 | 0.2000 | 1.0000 | 0.4000 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 5.000 | 2.000 | 13.000 | 2.000 | 1.7419 | 0.6774 | 0.1935 | 0.4839 | 0.1935 | 1.2581 | 0.1935 |
| season | 0.20 | 43 | 43.100 | 12.000 | 26.000 | 12.000 | 41.000 | 5.000 | 2.4923 | 0.8769 | 0.2769 | 0.6000 | 0.2769 | 0.9462 | 0.1154 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2330 |
| predicted_ER | 0.3310 |
| predicted_ERA | 3.3933 |
| predicted_H | 0.5730 |
| predicted_HR | 0.1980 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9070 |
| predicted_WHIP | 0.9195 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2330 | 0.1152 | model_form_blend |
| predicted_ER | 0.0000 | 0.3310 | 0.1637 | model_form_blend |
| predicted_ERA | - | 3.3933 | 3.3933 | form_only |
| predicted_H | 0.0000 | 0.5730 | 0.2834 | model_form_blend |
| predicted_HR | 0.0000 | 0.1980 | 0.0979 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9070 | 0.4486 | model_form_blend |
| predicted_WHIP | - | 0.9195 | 0.9195 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 43 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.49 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 25 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 595345 |
| playerID | 595345 |
| playerName | Steven Okert |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-05 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.246 |
| sl_xwoba | 0.258 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 27.9 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 76.296772037 |
| sl_avg_hyper_speed | 92.634446481 |
| 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.853 | 0.000 | -0.853 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.618 | 0.000 | -0.618 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.176 | 2.000 | -1.176 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.588 | 2.200 | -0.488 | -1.100 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.559 | 3.000 | 1.441 | 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.1000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "805123",
"player_name": "AJ Blubaugh",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 9.200 | 1.000 | 7.000 | 2.000 | 12.000 | 0.000 | 0.9310 | 0.9310 | 0.1035 | 0.7241 | 0.2069 | 1.2414 | 0.0000 |
| last_10 | 0.35 | 10 | 18.200 | 2.000 | 11.000 | 8.000 | 22.000 | 0.000 | 0.9643 | 1.0179 | 0.1071 | 0.5893 | 0.4286 | 1.1786 | 0.0000 |
| season | 0.20 | 34 | 56.100 | 21.000 | 40.000 | 29.000 | 53.000 | 5.000 | 3.3550 | 1.2249 | 0.3728 | 0.7101 | 0.5148 | 0.9408 | 0.0888 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5030 |
| predicted_ER | 0.3820 |
| predicted_ERA | 2.3888 |
| predicted_H | 1.1010 |
| predicted_HR | 0.0840 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.5770 |
| predicted_WHIP | 1.1150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5030 | 0.2612 | model_form_blend |
| predicted_ER | 0.0000 | 0.3820 | 0.1984 | model_form_blend |
| predicted_ERA | - | 2.3888 | 2.3888 | form_only |
| predicted_H | 0.0000 | 1.1010 | 0.5718 | model_form_blend |
| predicted_HR | 0.0000 | 0.0840 | 0.0436 | model_form_blend |
| predicted_IP | 0.1000 | 1.1000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.5770 | 2.2609 | model_form_blend |
| predicted_WHIP | - | 1.1150 | 1.1150 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 3 |
| HR | 0 |
| BF | 4 |
| Pitches | 4 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 10 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.36 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.2 |
| Pitching_Pitches | 47 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 31 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260701_MIN@HOU |
| game_type | full |
| mlbID | 805123 |
| playerID | 805123 |
| playerName | AJ Blubaugh |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.284 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 47.5 |
| sl_avg_best_speed | 79.757322973 |
| sl_avg_hyper_speed | 93.405808844 |
| 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.781 | 0.000 | 0.219 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.594 | 1.000 | -0.594 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.750 | 1.000 | 0.250 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.819 | 2.000 | -0.819 | -2.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.156 | 3.000 | -1.156 | -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": "650556",
"player_name": "Bryan Abreu",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 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 | 5.200 | 2.000 | 3.000 | 1.000 | 6.000 | 2.000 | 3.1765 | 0.7059 | 0.3529 | 0.5294 | 0.1765 | 1.0588 | 0.3529 |
| last_10 | 0.35 | 10 | 10.200 | 5.000 | 7.000 | 3.000 | 14.000 | 3.000 | 4.2188 | 0.9375 | 0.4688 | 0.6562 | 0.2812 | 1.3125 | 0.2812 |
| season | 0.20 | 31 | 29.000 | 19.000 | 22.000 | 25.000 | 37.000 | 7.000 | 5.8966 | 1.6207 | 0.6552 | 0.7586 | 0.8621 | 1.2759 | 0.2414 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2440 |
| predicted_ER | 0.3290 |
| predicted_ERA | 4.2952 |
| predicted_H | 0.5400 |
| predicted_HR | 0.1610 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7460 |
| predicted_WHIP | 1.1360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2440 | 0.6572 | model_form_blend |
| predicted_ER | 0.0000 | 0.3290 | 0.1492 | model_form_blend |
| predicted_ERA | - | 4.2952 | 4.2952 | form_only |
| predicted_H | 1.0000 | 0.5400 | 0.7914 | model_form_blend |
| predicted_HR | 0.0000 | 0.1610 | 0.0730 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7460 | 0.8848 | model_form_blend |
| predicted_WHIP | - | 1.1360 | 1.1360 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| 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 | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.90 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 34 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260701_MIN@HOU |
| game_type | full |
| mlbID | 650556 |
| playerID | 650556 |
| playerName | Bryan Abreu |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-07-01 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 18.7 |
| sl_woba | 0.383 |
| sl_xwoba | 0.352 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 50.7 |
| sl_whiff_percent | 32.2 |
| sl_swing_percent | 39.3 |
| sl_avg_best_speed | 83.732454242 |
| sl_avg_hyper_speed | 95.382865 |
| Field | Value |
|---|---|
| Pitcher | Miles Mikolas |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.4561 |
| ESPN Rank | 662 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.2000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 5.4427 |
| Season WHIP | 1.2925 |
| Role Avg IP | 4.5710 |
| Recent Avg IP | 4.5330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"opponent": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"edges": {
"quality_edge": 0.0185,
"offense_edge": 0.1185,
"opponent_offense_edge": -0.0209,
"defense_strength": -0.1114,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9982,
"run_prevention": 1.0069,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "571945",
"profile": {
"available": true,
"pitcher_id": "571945",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 217.0,
"k_percent": 13.2,
"bb_percent": 4.8,
"woba": 0.337,
"xwoba": 0.337,
"sweet_spot_percent": 33.4,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 40.3,
"avg_best_speed": 78.5737,
"avg_hyper_speed": 94.7657,
"whiff_percent": 14.7,
"swing_percent": 48.1
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.5021,
"command_and_miss": -0.9393,
"regression_edge": 0.0,
"xwoba_edge": -0.6857,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.2714,
"whiff_edge": -1.5429,
"bb_edge": 1.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "571945",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.4561,
"sample_weight": 0.868,
"run_prevention_factor": 1.0388,
"strikeout_factor": 0.8998,
"walk_factor": 0.9288,
"homer_factor": 1.0535,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571945",
"espn_id": 32116,
"player_name": "Miles Mikolas",
"team": "WSH",
"role": "pitcher",
"espn_rank": 662,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 662,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 7.0,
"gs_rank": 156,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 5.4426,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 84.1,
"ip_rank": 75,
"h_value": 92.0,
"h_rank": 31,
"er_value": 51.0,
"er_rank": 12,
"hr_value": 18.0,
"hr_rank": 11,
"bb_value": 17.0,
"bb_rank": 207,
"k_value": 47.0,
"k_rank": 162,
"k_per_9_value": 5.0158105,
"k_per_9_rank": 58.0,
"whip_value": 1.2924,
"whip_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0337,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0337,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9382,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0464,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.913,
"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": 51.2,
"ER": 24,
"H": 53,
"BB": 6,
"SO": 25,
"HR": 9,
"ERA": 4.180645161290323,
"WHIP": 1.1419354838709677,
"K9": 4.354838709677419,
"HR9": 1.5677419354838709,
"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-29T00:00:00"
}{
"available": false,
"pitcher_id": "571945",
"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": "571945",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 11.0,
"R": 13.0,
"H": 29.0,
"BB": 1.0,
"SO": 11.0,
"HR": 4.0,
"BF": 112.0,
"Pitches": 379.0
},
"per_game": {
"IP": 5.2,
"ER": 2.2,
"R": 2.6,
"H": 5.8,
"BB": 0.2,
"SO": 2.2,
"HR": 0.8,
"BF": 22.4,
"Pitches": 75.8
},
"rates": {
"ERA": 3.5357,
"WHIP": 1.0714,
"ER_per_IP": 0.39286,
"H_per_IP": 1.03571,
"BB_per_IP": 0.03571,
"SO_per_IP": 0.39286,
"HR_per_IP": 0.14286
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.2,
"ER": 24.0,
"R": 27.0,
"H": 53.0,
"BB": 6.0,
"SO": 25.0,
"HR": 9.0,
"BF": 211.0,
"Pitches": 761.0
},
"per_game": {
"IP": 5.1,
"ER": 2.4,
"R": 2.7,
"H": 5.3,
"BB": 0.6,
"SO": 2.5,
"HR": 0.9,
"BF": 21.1,
"Pitches": 76.1
},
"rates": {
"ERA": 4.1806,
"WHIP": 1.1419,
"ER_per_IP": 0.46452,
"H_per_IP": 1.02581,
"BB_per_IP": 0.11613,
"SO_per_IP": 0.48387,
"HR_per_IP": 0.17419
}
},
"season": {
"games": 18,
"totals": {
"IP": 84.1,
"ER": 51.0,
"R": 56.0,
"H": 92.0,
"BB": 17.0,
"SO": 47.0,
"HR": 18.0,
"BF": 357.0,
"Pitches": 1314.0
},
"per_game": {
"IP": 4.2,
"ER": 2.8333,
"R": 3.1111,
"H": 5.1111,
"BB": 0.9444,
"SO": 2.6111,
"HR": 1.0,
"BF": 19.8333,
"Pitches": 73.0
},
"rates": {
"ERA": 5.4427,
"WHIP": 1.2925,
"ER_per_IP": 0.60474,
"H_per_IP": 1.09091,
"BB_per_IP": 0.20158,
"SO_per_IP": 0.55731,
"HR_per_IP": 0.21344
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.444,
"predicted_H": 5.344,
"predicted_BB": 0.799,
"predicted_SO": 2.942,
"predicted_HR": 0.852,
"predicted_ERA": 4.2284,
"predicted_WHIP": 1.1809
}
}{
"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": 5.1,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.444,
"final": 2.6897,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.344,
"final": 5.6339,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.799,
"final": 1.3297,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 2.942,
"final": 3.4095,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.852,
"final": 0.9174,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2284,
"final": 4.2284,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1809,
"final": 1.1809,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brad Lord |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0155 |
| ESPN Rank | 167 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.8793 |
| Season WHIP | 1.2241 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"opponent": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"edges": {
"quality_edge": 0.0185,
"offense_edge": 0.1185,
"opponent_offense_edge": -0.0209,
"defense_strength": -0.1114,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9982,
"run_prevention": 1.0069,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695418",
"profile": {
"available": true,
"pitcher_id": "695418",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 143.0,
"k_percent": 21.0,
"bb_percent": 8.5,
"woba": 0.291,
"xwoba": 0.316,
"sweet_spot_percent": 24.9,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 40.8,
"avg_best_speed": 75.4678,
"avg_hyper_speed": 94.3685,
"whiff_percent": 20.7,
"swing_percent": 49.7
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.2292,
"command_and_miss": -0.3229,
"regression_edge": -0.7143,
"xwoba_edge": -0.0857,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.3429,
"whiff_edge": -0.6857,
"bb_edge": 0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "695418",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0155,
"sample_weight": 0.572,
"run_prevention_factor": 1.0013,
"strikeout_factor": 0.9791,
"walk_factor": 0.9954,
"homer_factor": 0.9961,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695418",
"espn_id": 4866810,
"player_name": "Brad Lord",
"team": "WSH",
"role": "pitcher",
"espn_rank": 167,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 167,
"gp_value": 27.0,
"gp_rank": 158,
"gs_value": 1.0,
"gs_rank": 258,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.8793,
"era_rank": null,
"w_value": 5.0,
"w_rank": 63,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 6.0,
"hld_rank": 89,
"ip_value": 58.0,
"ip_rank": 134,
"h_value": 50.0,
"h_rank": 149,
"er_value": 25.0,
"er_rank": 152,
"hr_value": 7.0,
"hr_rank": 149,
"bb_value": 21.0,
"bb_rank": 148,
"k_value": 52.0,
"k_rank": 141,
"k_per_9_value": 8.068965,
"k_per_9_rank": 28.0,
"whip_value": 1.2241,
"whip_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0007,
"adjusted": 2
},
"predicted_H": {
"original": 0.0,
"factor": 1.0007,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9974,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9978,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.988,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 21.0,
"ER": 14,
"H": 20,
"BB": 14,
"SO": 21,
"HR": 3,
"ERA": 6.000000000000001,
"WHIP": 1.6190476190476193,
"K9": 9.000000000000002,
"HR9": 1.285714285714286,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "695418",
"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": 11.502,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.697,
"prior_weight": 0.303
},
"role": "pitcher",
"player_id": "695418",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 10.0,
"ER": 12.0,
"R": 12.0,
"H": 15.0,
"BB": 7.0,
"SO": 13.0,
"HR": 3.0,
"BF": 52.0,
"Pitches": 228.0
},
"per_game": {
"IP": 2.0,
"ER": 2.4,
"R": 2.4,
"H": 3.0,
"BB": 1.4,
"SO": 2.6,
"HR": 0.6,
"BF": 10.4,
"Pitches": 45.6
},
"rates": {
"ERA": 10.8,
"WHIP": 2.2,
"ER_per_IP": 1.2,
"H_per_IP": 1.5,
"BB_per_IP": 0.7,
"SO_per_IP": 1.3,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 21.0,
"ER": 14.0,
"R": 14.0,
"H": 20.0,
"BB": 14.0,
"SO": 21.0,
"HR": 3.0,
"BF": 96.0,
"Pitches": 409.0
},
"per_game": {
"IP": 2.0,
"ER": 1.4,
"R": 1.4,
"H": 2.0,
"BB": 1.4,
"SO": 2.1,
"HR": 0.3,
"BF": 9.6,
"Pitches": 40.9
},
"rates": {
"ERA": 6.0,
"WHIP": 1.619,
"ER_per_IP": 0.66667,
"H_per_IP": 0.95238,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.14286
}
},
"season": {
"games": 27,
"totals": {
"IP": 58.0,
"ER": 25.0,
"R": 26.0,
"H": 50.0,
"BB": 21.0,
"SO": 52.0,
"HR": 7.0,
"BF": 248.0,
"Pitches": 1030.0
},
"per_game": {
"IP": 2.0,
"ER": 0.9259,
"R": 0.963,
"H": 1.8519,
"BB": 0.7778,
"SO": 1.9259,
"HR": 0.2593,
"BF": 9.1852,
"Pitches": 38.1481
},
"rates": {
"ERA": 3.8793,
"WHIP": 1.2241,
"ER_per_IP": 0.43103,
"H_per_IP": 0.86207,
"BB_per_IP": 0.36207,
"SO_per_IP": 0.89655,
"HR_per_IP": 0.12069
}
}
},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 1.352,
"predicted_H": 2.008,
"predicted_BB": 0.972,
"predicted_SO": 1.916,
"predicted_HR": 0.343,
"predicted_ERA": 6.7665,
"predicted_WHIP": 1.6577
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.478,
"form_weight": 0.522,
"form_reliability": 0.697,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.502,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.697,
"prior_weight": 0.303
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.2,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.352,
"final": 0.7057,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 2.008,
"final": 1.0481,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.972,
"final": 0.5074,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.916,
"final": 1.9562,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.343,
"final": 0.179,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.7665,
"final": 6.7665,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6577,
"final": 1.6577,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Orlando Ribalta |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1158 |
| ESPN Rank | 199 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.4177 |
| Season WHIP | 1.1392 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"opponent": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"edges": {
"quality_edge": 0.0185,
"offense_edge": 0.1185,
"opponent_offense_edge": -0.0209,
"defense_strength": -0.1114,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9982,
"run_prevention": 1.0069,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687377",
"profile": {
"available": true,
"pitcher_id": "687377",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 50.0,
"k_percent": 20.8,
"bb_percent": 9.4,
"woba": 0.276,
"xwoba": 0.298,
"sweet_spot_percent": 24.3,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 35.1,
"avg_best_speed": 72.1996,
"avg_hyper_speed": 93.0035,
"whiff_percent": 24.5,
"swing_percent": 51.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.6603,
"command_and_miss": -0.1907,
"regression_edge": -0.6286,
"xwoba_edge": 0.4286,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.4714,
"whiff_edge": -0.1429,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687377",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1158,
"sample_weight": 0.45,
"run_prevention_factor": 0.9902,
"strikeout_factor": 0.9928,
"walk_factor": 1.0045,
"homer_factor": 0.9817,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687377",
"espn_id": 5132036,
"player_name": "Orlando Ribalta",
"team": "WSH",
"role": "pitcher",
"espn_rank": 199,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 199,
"gp_value": 28.0,
"gp_rank": 146,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.4177,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 2.0,
"sv_rank": 63,
"hld_value": 7.0,
"hld_rank": 70,
"ip_value": 26.1,
"ip_rank": 362,
"h_value": 20.0,
"h_rank": 394,
"er_value": 10.0,
"er_rank": 388,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 10.0,
"bb_rank": 361,
"k_value": 22.0,
"k_rank": 376,
"k_per_9_value": 7.518987,
"k_per_9_rank": 28.0,
"whip_value": 1.1392,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9956,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9956,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9918,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9968,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 6,
"H": 9,
"BB": 3,
"SO": 9,
"HR": 1,
"ERA": 6.75,
"WHIP": 1.5,
"K9": 10.125,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "687377",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.222,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5109,
"prior_weight": 0.4891
},
"role": "pitcher",
"player_id": "687377",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 87.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 17.4
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5,
"ER_per_IP": 0.5,
"H_per_IP": 1.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 166.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.3,
"SO": 0.9,
"HR": 0.1,
"BF": 3.5,
"Pitches": 16.6
},
"rates": {
"ERA": 6.75,
"WHIP": 1.5,
"ER_per_IP": 0.75,
"H_per_IP": 1.125,
"BB_per_IP": 0.375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.125
}
},
"season": {
"games": 28,
"totals": {
"IP": 26.1,
"ER": 10.0,
"R": 11.0,
"H": 20.0,
"BB": 10.0,
"SO": 22.0,
"HR": 2.0,
"BF": 106.0,
"Pitches": 461.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3571,
"R": 0.3929,
"H": 0.7143,
"BB": 0.3571,
"SO": 0.7857,
"HR": 0.0714,
"BF": 3.7857,
"Pitches": 16.4643
},
"rates": {
"ERA": 3.4177,
"WHIP": 1.1392,
"ER_per_IP": 0.37975,
"H_per_IP": 0.75949,
"BB_per_IP": 0.37975,
"SO_per_IP": 0.83544,
"HR_per_IP": 0.07595
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.462,
"predicted_H": 0.899,
"predicted_BB": 0.292,
"predicted_SO": 0.899,
"predicted_HR": 0.089,
"predicted_ERA": 4.8096,
"predicted_WHIP": 1.3785
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5566,
"form_weight": 0.4434,
"form_reliability": 0.5109,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.222,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5109,
"prior_weight": 0.4891
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.462,
"final": 0.2048,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.899,
"final": 0.3986,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.292,
"final": 0.1295,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.899,
"final": 0.3986,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0395,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8096,
"final": 4.8096,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3785,
"final": 1.3785,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | PJ Poulin |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3932 |
| ESPN Rank | 113 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.8286 |
| Season WHIP | 1.3143 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"opponent": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"edges": {
"quality_edge": 0.0185,
"offense_edge": 0.1185,
"opponent_offense_edge": -0.0209,
"defense_strength": -0.1114,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9982,
"run_prevention": 1.0069,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676571",
"profile": {
"available": true,
"pitcher_id": "676571",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 15.1,
"bb_percent": 13.7,
"woba": 0.306,
"xwoba": 0.358,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 45.6,
"avg_best_speed": 81.5596,
"avg_hyper_speed": 95.3397,
"whiff_percent": 16.3,
"swing_percent": 40.7
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.7463,
"command_and_miss": -1.1821,
"regression_edge": -1.4857,
"xwoba_edge": -1.2857,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.0286,
"whiff_edge": -1.3143,
"bb_edge": -1.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676571",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.3932,
"sample_weight": 0.45,
"run_prevention_factor": 1.0334,
"strikeout_factor": 0.9571,
"walk_factor": 1.0432,
"homer_factor": 1.0567,
"woba_minus_xwoba": -0.052,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676571",
"espn_id": 4019760,
"player_name": "PJ Poulin",
"team": "WSH",
"role": "pitcher",
"espn_rank": 113,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 113,
"gp_value": 34.0,
"gp_rank": 89,
"gs_value": 10.0,
"gs_rank": 127,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.8285,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 7.0,
"hld_rank": 70,
"ip_value": 35.0,
"ip_rank": 270,
"h_value": 26.0,
"h_rank": 319,
"er_value": 11.0,
"er_rank": 359,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 20.0,
"bb_rank": 157,
"k_value": 22.0,
"k_rank": 376,
"k_per_9_value": 5.657143,
"k_per_9_rank": 37.0,
"whip_value": 1.3142,
"whip_rank": null,
"war_value": 1.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.015,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.015,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0194,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0255,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9807,
"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": 2,
"H": 6,
"BB": 5,
"SO": 6,
"HR": 0,
"ERA": 1.5882352941176472,
"WHIP": 0.9705882352941178,
"K9": 4.764705882352942,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "676571",
"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.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5813,
"prior_weight": 0.4187
},
"role": "pitcher",
"player_id": "676571",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.6
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.7059,
"ER_per_IP": 0.17647,
"H_per_IP": 0.35294,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.52941,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 5.0,
"SO": 6.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.5,
"SO": 0.6,
"HR": 0.0,
"BF": 4.3,
"Pitches": 16.2
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.9706,
"ER_per_IP": 0.17647,
"H_per_IP": 0.52941,
"BB_per_IP": 0.44118,
"SO_per_IP": 0.52941,
"HR_per_IP": 0.0
}
},
"season": {
"games": 34,
"totals": {
"IP": 35.0,
"ER": 11.0,
"R": 12.0,
"H": 26.0,
"BB": 20.0,
"SO": 22.0,
"HR": 4.0,
"BF": 146.0,
"Pitches": 604.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3235,
"R": 0.3529,
"H": 0.7647,
"BB": 0.5882,
"SO": 0.6471,
"HR": 0.1176,
"BF": 4.2941,
"Pitches": 17.7647
},
"rates": {
"ERA": 2.8286,
"WHIP": 1.3143,
"ER_per_IP": 0.31429,
"H_per_IP": 0.74286,
"BB_per_IP": 0.57143,
"SO_per_IP": 0.62857,
"HR_per_IP": 0.11429
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.33,
"predicted_H": 0.692,
"predicted_BB": 0.398,
"predicted_SO": 0.719,
"predicted_HR": 0.076,
"predicted_ERA": 2.9669,
"predicted_WHIP": 1.0905
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5269,
"form_weight": 0.4731,
"form_reliability": 0.5813,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5813,
"prior_weight": 0.4187
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.33,
"final": 0.1561,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.692,
"final": 0.8543,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.398,
"final": 0.1883,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.719,
"final": 0.3402,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.076,
"final": 0.036,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9669,
"final": 2.9669,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0905,
"final": 1.0905,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Clayton Beeter |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1108 |
| ESPN Rank | 165 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.1558 |
| Season WHIP | 1.2857 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 97,
"wins": 47,
"losses": 50,
"win_pct": 0.4845,
"runs_scored": 492.0,
"runs_allowed": 495.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0309,
"avg_runs_scored": 5.0722,
"avg_runs_allowed": 5.1031,
"offense_index": 1.1185,
"defense_index": 0.8886,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.2,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0169
},
"opponent": {
"team": "HOU",
"games": 100,
"wins": 48,
"losses": 52,
"win_pct": 0.48,
"runs_scored": 444.0,
"runs_allowed": 488.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.88,
"offense_index": 0.9791,
"defense_index": 0.9293,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0354
},
"edges": {
"quality_edge": 0.0185,
"offense_edge": 0.1185,
"opponent_offense_edge": -0.0209,
"defense_strength": -0.1114,
"opponent_defense_weakness": 0.0707,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9982,
"run_prevention": 1.0069,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690925",
"profile": {
"available": true,
"pitcher_id": "690925",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 55.0,
"k_percent": 26.4,
"bb_percent": 16.4,
"woba": 0.27,
"xwoba": 0.291,
"sweet_spot_percent": 24.6,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 41.0,
"avg_best_speed": 79.3114,
"avg_hyper_speed": 93.6717,
"whiff_percent": 27.4,
"swing_percent": 44.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.5634,
"command_and_miss": -0.0357,
"regression_edge": -0.6,
"xwoba_edge": 0.6286,
"barrel_edge": 0.5111,
"hard_hit_edge": -0.3714,
"whiff_edge": 0.2714,
"bb_edge": -1.875,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "690925",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1108,
"sample_weight": 0.45,
"run_prevention_factor": 0.9906,
"strikeout_factor": 1.0147,
"walk_factor": 1.0675,
"homer_factor": 0.9798,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690925",
"espn_id": 4313143,
"player_name": "Clayton Beeter",
"team": "WSH",
"role": "pitcher",
"espn_rank": 165,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 165,
"gp_value": 26.0,
"gp_rank": 164,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.1558,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 6.0,
"sv_rank": 27,
"hld_value": 4.0,
"hld_rank": 142,
"ip_value": 25.2,
"ip_rank": 371,
"h_value": 15.0,
"h_rank": 457,
"er_value": 9.0,
"er_rank": 419,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 29.0,
"k_rank": 323,
"k_per_9_value": 10.168831,
"k_per_9_rank": 23.0,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0304,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9909,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0066,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 3,
"H": 5,
"BB": 5,
"SO": 11,
"HR": 0,
"ERA": 3.1153846153846154,
"WHIP": 1.153846153846154,
"K9": 11.423076923076923,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-03T00:00:00"
}{
"available": false,
"pitcher_id": "690925",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.09,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5045,
"prior_weight": 0.4955
},
"role": "pitcher",
"player_id": "690925",
"report_date": "20260706_H",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 58.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 2.6,
"Pitches": 11.6
},
"rates": {
"ERA": 0.0,
"WHIP": 1.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 5.0,
"SO": 11.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.5,
"SO": 1.1,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.4
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.1538,
"ER_per_IP": 0.34615,
"H_per_IP": 0.57692,
"BB_per_IP": 0.57692,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 25.2,
"ER": 9.0,
"R": 9.0,
"H": 15.0,
"BB": 18.0,
"SO": 29.0,
"HR": 2.0,
"BF": 110.0,
"Pitches": 429.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3462,
"R": 0.3462,
"H": 0.5769,
"BB": 0.6923,
"SO": 1.1154,
"HR": 0.0769,
"BF": 4.2308,
"Pitches": 16.5
},
"rates": {
"ERA": 3.1558,
"WHIP": 1.2857,
"ER_per_IP": 0.35065,
"H_per_IP": 0.58442,
"BB_per_IP": 0.7013,
"SO_per_IP": 1.12987,
"HR_per_IP": 0.07792
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.263,
"predicted_H": 0.59,
"predicted_BB": 0.369,
"predicted_SO": 0.822,
"predicted_HR": 0.062,
"predicted_ERA": 3.1164,
"predicted_WHIP": 1.2634
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5593,
"form_weight": 0.4407,
"form_reliability": 0.5045,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.09,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5045,
"prior_weight": 0.4955
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.263,
"final": 0.1159,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.59,
"final": 0.26,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.369,
"final": 0.1626,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.822,
"final": 1.4809,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0273,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1164,
"final": 3.1164,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2634,
"final": 1.2634,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.179 | 0.000 | 0.000 | Hitting_2B | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_AB | 3.333 | 4.000 | 3.000 | Hitting_AB | 3.675 | 5.000 | 0.325 | -1.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.284 | 0.400 | -0.034 | -0.150 |
| predicted_BB | 0.155 | 0.000 | 0.000 | Hitting_BB | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.400 | 1.000 | 1.000 | Hitting_H | 1.044 | 2.000 | -0.044 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.170 | 1.000 | -0.170 | -1.000 |
| predicted_OBP | 0.307 | 0.250 | 0.333 | Hitting_OBP | 0.307 | 0.400 | -0.057 | -0.150 |
| predicted_R | 0.500 | 1.000 | 1.000 | Hitting_R | 0.490 | 1.000 | 0.510 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 1.000 | Hitting_RBI | 0.757 | 2.000 | -0.757 | -2.000 |
| predicted_SLG | 0.571 | 0.250 | 0.333 | Hitting_SLG | 0.514 | 1.000 | -0.264 | -0.750 |
| predicted_SO | 0.512 | 0.000 | 0.000 | Hitting_SO | 0.621 | 0.000 | -0.621 | 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.3330 -> 4.0000 (boost 0.6670, better) |
| Biggest Deboost | predicted_SO: 0.5120 -> 0.0000 (deboost -0.5120, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 8 | 0 | 8 | 0 | predicted_H: 0.4000 -> 0.6901 (boost 0.2901, better) | - | Final model input calibrated with local form: 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.6224 -> 0.4804 (deboost -0.1420, 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.6849 -> 1.0000 (boost 0.3151, better) | predicted_SO: 0.4983 -> 0.0000 (deboost -0.4983, better) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.206 HR/AB=0.067 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5652 -> 1.0000 (boost 0.4348, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2056 -> 0.3330 (boost 0.1274, better) | predicted_SLG: 0.4804 -> 0.3330 (deboost -0.1474, 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_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.4804 (boost 0.1474, better) | predicted_AVG: 0.3330 -> 0.2056 (deboost -0.1274, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.036,
"predicted_AB": 3.333,
"predicted_AVG": 0.263,
"predicted_BB": 0.155,
"predicted_H": 0.4,
"predicted_HR": 0.12,
"predicted_OBP": 0.307,
"predicted_R": 0.5,
"predicted_RBI": 0.38,
"predicted_SLG": 0.571,
"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.1896,
"predicted_3B": 0.0301,
"predicted_AB": 3.4079,
"predicted_AVG": 0.2827,
"predicted_BB": 0.1808,
"predicted_H": 0.6901,
"predicted_HBP": 0.003,
"predicted_HR": 0.224,
"predicted_OBP": 0.3245,
"predicted_R": 0.552,
"predicted_RBI": 0.6689,
"predicted_SLG": 0.6224,
"predicted_SO": 0.501
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1896,
"delta": 0.0106,
"percent_delta": 0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0301,
"delta": -0.0059,
"percent_delta": -0.1639,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.4079,
"delta": 0.0749,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2827,
"delta": 0.0197,
"percent_delta": 0.0749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.1808,
"delta": 0.0258,
"percent_delta": 0.1665,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.6901,
"delta": 0.2901,
"percent_delta": 0.7253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.224,
"delta": 0.104,
"percent_delta": 0.8667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3245,
"delta": 0.0175,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.552,
"delta": 0.052,
"percent_delta": 0.104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.6689,
"delta": 0.2889,
"percent_delta": 0.7603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.571,
"after": 0.6224,
"delta": 0.0514,
"percent_delta": 0.09,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 0.501,
"delta": -0.011,
"percent_delta": -0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4,
"after": 0.6901,
"delta": 0.2901,
"percent_delta": 0.7253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1896,
"predicted_3B": 0.0301,
"predicted_AB": 3.4079,
"predicted_AVG": 0.2056,
"predicted_BB": 0.1818,
"predicted_H": 0.7006,
"predicted_HBP": 0.003,
"predicted_HR": 0.229,
"predicted_OBP": 0.2458,
"predicted_R": 0.5652,
"predicted_RBI": 0.6849,
"predicted_SLG": 0.4804,
"predicted_SO": 0.4983
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1896,
"after": 0.1896,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0301,
"after": 0.0301,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4079,
"after": 3.4079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2827,
"after": 0.2056,
"delta": -0.0771,
"percent_delta": -0.2727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1808,
"after": 0.1818,
"delta": 0.001,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6901,
"after": 0.7006,
"delta": 0.0105,
"percent_delta": 0.0152,
"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.224,
"after": 0.229,
"delta": 0.005,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3245,
"after": 0.2458,
"delta": -0.0787,
"percent_delta": -0.2425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 0.5652,
"delta": 0.0132,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6689,
"after": 0.6849,
"delta": 0.016,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6224,
"after": 0.4804,
"delta": -0.142,
"percent_delta": -0.2281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.501,
"after": 0.4983,
"delta": -0.0027,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6224,
"after": 0.4804,
"delta": -0.142,
"percent_delta": -0.2281,
"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.206 HR/AB=0.067",
"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.1896,
"after": 0.0,
"delta": -0.1896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0301,
"after": 0.0,
"delta": -0.0301,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4079,
"after": 3.0,
"delta": -0.4079,
"percent_delta": -0.1197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1818,
"after": 0.0,
"delta": -0.1818,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7006,
"after": 1.0,
"delta": 0.2994,
"percent_delta": 0.4273,
"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.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6849,
"after": 1.0,
"delta": 0.3151,
"percent_delta": 0.4601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4983,
"after": 0.0,
"delta": -0.4983,
"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.6849,
"after": 1.0,
"delta": 0.3151,
"percent_delta": 0.4601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4983,
"after": 0.0,
"delta": -0.4983,
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5652,
"after": 1.0,
"delta": 0.4348,
"percent_delta": 0.7693,
"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.5652,
"after": 1.0,
"delta": 0.4348,
"percent_delta": 0.7693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2056,
"after": 0.333,
"delta": 0.1274,
"percent_delta": 0.6196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2458,
"after": 0.333,
"delta": 0.0872,
"percent_delta": 0.3548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4804,
"after": 0.333,
"delta": -0.1474,
"percent_delta": -0.3068,
"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.2056,
"after": 0.333,
"delta": 0.1274,
"percent_delta": 0.6196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4804,
"after": 0.333,
"delta": -0.1474,
"percent_delta": -0.3068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"after": 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": 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_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.2056,
"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.2458,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4804,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2056,
"delta": -0.1274,
"percent_delta": -0.3826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2458,
"delta": -0.0872,
"percent_delta": -0.2619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4804,
"delta": 0.1474,
"percent_delta": 0.4428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4804,
"delta": 0.1474,
"percent_delta": 0.4428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2056,
"delta": -0.1274,
"percent_delta": -0.3826,
"direction": "deboost",
"projection_effect": "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.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2056,
"delta": -0.0574,
"percent_delta": -0.2183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"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.307,
"after": 0.2458,
"delta": -0.0612,
"percent_delta": -0.1993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.571,
"after": 0.4804,
"delta": -0.0906,
"percent_delta": -0.1587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"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.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.155 | - |
| predicted_H | 0.400 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.571 | - |
| 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.190 | 0.011 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 3.408 | 0.075 |
| predicted_AVG | 0.283 | 0.020 |
| predicted_BB | 0.181 | 0.026 |
| predicted_H | 0.690 | 0.290 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.224 | 0.104 |
| predicted_OBP | 0.325 | 0.018 |
| predicted_R | 0.552 | 0.052 |
| predicted_RBI | 0.669 | 0.289 |
| predicted_SLG | 0.622 | 0.051 |
| predicted_SO | 0.501 | -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.190 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.408 | 0.000 |
| predicted_AVG | 0.206 | -0.077 |
| predicted_BB | 0.182 | 0.001 |
| predicted_H | 0.701 | 0.010 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.229 | 0.005 |
| predicted_OBP | 0.246 | -0.079 |
| predicted_R | 0.565 | 0.013 |
| predicted_RBI | 0.685 | 0.016 |
| predicted_SLG | 0.480 | -0.142 |
| predicted_SO | 0.498 | -0.003 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.206 HR/AB=0.067
| 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 | 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.190 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 3.000 | -0.408 |
| predicted_AVG | 0.333 | 0.127 |
| predicted_BB | 0.000 | -0.182 |
| predicted_H | 1.000 | 0.299 |
| predicted_HR | 0.000 | -0.229 |
| predicted_OBP | 0.333 | 0.087 |
| predicted_R | 1.000 | 0.435 |
| predicted_RBI | 1.000 | 0.315 |
| predicted_SLG | 0.333 | -0.147 |
| predicted_SO | 0.000 | -0.498 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 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 | - | 19.000 | 6.000 | 1.000 | 0.000 | 3.000 | 9.000 | 4.000 | 1.000 | 2.000 | 0.3158 | 0.3500 | 0.8421 | 0.3158 | 0.1579 | 0.4737 | 0.0526 | 0.1053 |
| last_10 | 0.20 | 10 | - | 36.000 | 15.000 | 3.000 | 0.000 | 7.000 | 16.000 | 9.000 | 4.000 | 3.000 | 0.4167 | 0.4750 | 1.0833 | 0.4167 | 0.1944 | 0.4444 | 0.1111 | 0.0833 |
| season | 0.60 | 84 | - | 280.000 | 79.000 | 15.000 | 3.000 | 19.000 | 64.000 | 42.000 | 13.000 | 43.000 | 0.2821 | 0.3129 | 0.5607 | 0.2821 | 0.0679 | 0.2286 | 0.0464 | 0.1536 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2040 |
| predicted_3B | 0.0220 |
| predicted_AB | 3.5100 |
| predicted_AVG | 0.3095 |
| predicted_BB | 0.2160 |
| predicted_H | 1.0860 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.3660 |
| predicted_OBP | 0.3484 |
| predicted_R | 0.6230 |
| predicted_RBI | 1.0630 |
| predicted_SLG | 0.6926 |
| predicted_SO | 0.4860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.2040 | 0.1896 | model_form_blend |
| predicted_3B | 0.0360 | 0.0220 | 0.0301 | model_form_blend |
| predicted_AB | 3.3330 | 3.5100 | 3.4079 | model_form_blend |
| predicted_AVG | 0.2630 | 0.3095 | 0.2827 | model_form_blend |
| predicted_BB | 0.1550 | 0.2160 | 0.1808 | model_form_blend |
| predicted_H | 0.4000 | 1.0860 | 0.6901 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1200 | 0.3660 | 0.2240 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3484 | 0.3245 | model_form_blend |
| predicted_R | 0.5000 | 0.6230 | 0.5520 | model_form_blend |
| predicted_RBI | 0.3800 | 1.0630 | 0.6689 | model_form_blend |
| predicted_SLG | 0.5710 | 0.6926 | 0.6224 | model_form_blend |
| predicted_SO | 0.5120 | 0.4860 | 0.5010 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 206 |
| Season rows before report date | 206 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| 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 | 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 | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 671277 |
| playerID | 671277 |
| playerName | Luis García Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 14.6 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.371 |
| sl_xwoba | 0.355 |
| sl_xba | 0.291 |
| sl_xslg | 0.507 |
| sl_sweet_spot_percent | 33.2 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 46.6 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 18.5 |
| sl_swing_percent | 53.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.149 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.203 | 4.000 | 3.000 | Hitting_AB | 3.364 | 4.000 | 0.636 | 0.000 |
| predicted_AVG | 0.244 | 0.000 | 0.333 | Hitting_AVG | 0.250 | 0.500 | -0.250 | -0.500 |
| predicted_BB | 0.405 | 0.000 | 0.000 | Hitting_BB | 0.511 | 1.000 | -0.511 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 0.350 | 0.000 | 1.000 | Hitting_H | 0.841 | 2.000 | -0.841 | -2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_OBP | 0.305 | 0.000 | 0.333 | Hitting_OBP | 0.361 | 0.600 | -0.361 | -0.600 |
| predicted_R | 0.514 | 0.000 | 1.000 | Hitting_R | 0.631 | 0.000 | -0.631 | 0.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.585 | 0.000 | -0.585 | 0.000 |
| predicted_SLG | 0.432 | 0.000 | 0.333 | Hitting_SLG | 0.510 | 0.500 | -0.510 | -0.500 |
| predicted_SO | 0.689 | 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 | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.2030 -> 4.0000 (boost 0.7970, better) |
| Biggest Deboost | predicted_R: 0.5140 -> 0.0000 (deboost -0.5140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 7 | 0 | 6 | 1 | predicted_H: 0.3500 -> 0.5945 (boost 0.2445, better) | - | Final model input calibrated with local form: 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.4453 -> 0.3337 (deboost -0.1116, 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.6035 -> 1.0000 (boost 0.3965, better) | predicted_BB: 0.4089 -> 0.0000 (deboost -0.4089, worse) | AB rounded to 3 (raw=3.35), rates preserved: AVG=0.180 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5125 -> 1.0000 (boost 0.4875, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1802 -> 0.3330 (boost 0.1528, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_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.1802 (deboost -0.1528, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678554",
"player_name": "Curtis Mead",
"position": "3B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.149,
"predicted_3B": 0.014,
"predicted_AB": 3.203,
"predicted_AVG": 0.244,
"predicted_BB": 0.405,
"predicted_H": 0.35,
"predicted_HR": 0.06,
"predicted_OBP": 0.305,
"predicted_R": 0.514,
"predicted_RBI": 0.19,
"predicted_SLG": 0.432,
"predicted_SO": 0.689
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1381,
"predicted_3B": 0.0321,
"predicted_AB": 3.349,
"predicted_AVG": 0.2517,
"predicted_BB": 0.4067,
"predicted_H": 0.5945,
"predicted_HBP": 0.035,
"predicted_HR": 0.1017,
"predicted_OBP": 0.3216,
"predicted_R": 0.5005,
"predicted_RBI": 0.283,
"predicted_SLG": 0.4453,
"predicted_SO": 0.7395
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.1381,
"delta": -0.0109,
"percent_delta": -0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0321,
"delta": 0.0181,
"percent_delta": 1.2929,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.203,
"after": 3.349,
"delta": 0.146,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2517,
"delta": 0.0077,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 0.4067,
"delta": 0.0017,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.5945,
"delta": 0.2445,
"percent_delta": 0.6986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1017,
"delta": 0.0417,
"percent_delta": 0.695,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3216,
"delta": 0.0166,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5005,
"delta": -0.0135,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.283,
"delta": 0.093,
"percent_delta": 0.4895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4453,
"delta": 0.0133,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.689,
"after": 0.7395,
"delta": 0.0505,
"percent_delta": 0.0733,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.35,
"after": 0.5945,
"delta": 0.2445,
"percent_delta": 0.6986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1381,
"predicted_3B": 0.0321,
"predicted_AB": 3.349,
"predicted_AVG": 0.1802,
"predicted_BB": 0.4089,
"predicted_H": 0.6035,
"predicted_HBP": 0.035,
"predicted_HR": 0.104,
"predicted_OBP": 0.2694,
"predicted_R": 0.5125,
"predicted_RBI": 0.2898,
"predicted_SLG": 0.3337,
"predicted_SO": 0.7356
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1381,
"after": 0.1381,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0321,
"after": 0.0321,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.349,
"after": 3.349,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2517,
"after": 0.1802,
"delta": -0.0715,
"percent_delta": -0.2841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4067,
"after": 0.4089,
"delta": 0.0022,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5945,
"after": 0.6035,
"delta": 0.009,
"percent_delta": 0.0151,
"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.1017,
"after": 0.104,
"delta": 0.0023,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3216,
"after": 0.2694,
"delta": -0.0522,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5005,
"after": 0.5125,
"delta": 0.012,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.283,
"after": 0.2898,
"delta": 0.0068,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4453,
"after": 0.3337,
"delta": -0.1116,
"percent_delta": -0.2506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7395,
"after": 0.7356,
"delta": -0.0039,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4453,
"after": 0.3337,
"delta": -0.1116,
"percent_delta": -0.2506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.35), rates preserved: AVG=0.180 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.1381,
"after": 0.0,
"delta": -0.1381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0321,
"after": 0.0,
"delta": -0.0321,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.349,
"after": 3.0,
"delta": -0.349,
"percent_delta": -0.1042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4089,
"after": 0.0,
"delta": -0.4089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6035,
"after": 1.0,
"delta": 0.3965,
"percent_delta": 0.657,
"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.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2898,
"after": 0.0,
"delta": -0.2898,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7356,
"after": 1.0,
"delta": 0.2644,
"percent_delta": 0.3594,
"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.6035,
"after": 1.0,
"delta": 0.3965,
"percent_delta": 0.657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4089,
"after": 0.0,
"delta": -0.4089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5125,
"after": 1.0,
"delta": 0.4875,
"percent_delta": 0.9512,
"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.5125,
"after": 1.0,
"delta": 0.4875,
"percent_delta": 0.9512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1802,
"after": 0.333,
"delta": 0.1528,
"percent_delta": 0.8479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2694,
"after": 0.333,
"delta": 0.0636,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3337,
"after": 0.333,
"delta": -0.0007,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1802,
"after": 0.333,
"delta": 0.1528,
"percent_delta": 0.8479,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1802,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2694,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3337,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1802,
"delta": -0.1528,
"percent_delta": -0.4588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2694,
"delta": -0.0636,
"percent_delta": -0.191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3337,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1802,
"delta": -0.1528,
"percent_delta": -0.4588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.203,
"after": 4.0,
"delta": 0.797,
"percent_delta": 0.2488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.1802,
"delta": -0.0638,
"percent_delta": -0.2615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2694,
"delta": -0.0356,
"percent_delta": -0.1167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.3337,
"delta": -0.0983,
"percent_delta": -0.2275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.689,
"after": 1.0,
"delta": 0.311,
"percent_delta": 0.4514,
"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.203,
"after": 4.0,
"delta": 0.797,
"percent_delta": 0.2488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.203 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.405 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.432 | - |
| predicted_SO | 0.689 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.032 | 0.018 |
| predicted_AB | 3.349 | 0.146 |
| predicted_AVG | 0.252 | 0.008 |
| predicted_BB | 0.407 | 0.002 |
| predicted_H | 0.595 | 0.245 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.102 | 0.042 |
| predicted_OBP | 0.322 | 0.017 |
| predicted_R | 0.500 | -0.014 |
| predicted_RBI | 0.283 | 0.093 |
| predicted_SLG | 0.445 | 0.013 |
| predicted_SO | 0.740 | 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.138 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.349 | 0.000 |
| predicted_AVG | 0.180 | -0.071 |
| predicted_BB | 0.409 | 0.002 |
| predicted_H | 0.604 | 0.009 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.104 | 0.002 |
| predicted_OBP | 0.269 | -0.052 |
| predicted_R | 0.512 | 0.012 |
| predicted_RBI | 0.290 | 0.007 |
| predicted_SLG | 0.334 | -0.112 |
| predicted_SO | 0.736 | -0.004 |
AB rounded to 3 (raw=3.35), rates preserved: AVG=0.180 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.138 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 3.000 | -0.349 |
| predicted_AVG | 0.333 | 0.153 |
| predicted_BB | 0.000 | -0.409 |
| predicted_H | 1.000 | 0.396 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 1.000 | 0.488 |
| predicted_RBI | 0.000 | -0.290 |
| predicted_SLG | 0.333 | -0.001 |
| predicted_SO | 1.000 | 0.264 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 7.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 6.000 | 0.3333 | 0.4167 | 0.4286 | 0.3333 | 0.0000 | 0.0000 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 1.000 | 1.000 | 2.000 | 3.000 | 4.000 | 3.000 | 8.000 | 0.2895 | 0.3415 | 0.5263 | 0.2895 | 0.0526 | 0.0790 | 0.0790 | 0.2105 |
| season | 0.60 | 74 | - | 237.000 | 55.000 | 11.000 | 1.000 | 14.000 | 39.000 | 38.000 | 30.000 | 51.000 | 0.2321 | 0.3284 | 0.4641 | 0.2321 | 0.0591 | 0.1646 | 0.1266 | 0.2152 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1230 |
| predicted_3B | 0.0570 |
| predicted_AB | 3.5500 |
| predicted_AVG | 0.2622 |
| predicted_BB | 0.4090 |
| predicted_H | 0.9310 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.1590 |
| predicted_OBP | 0.3444 |
| predicted_R | 0.4820 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.4635 |
| predicted_SO | 0.8090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.1230 | 0.1381 | model_form_blend |
| predicted_3B | 0.0140 | 0.0570 | 0.0321 | model_form_blend |
| predicted_AB | 3.2030 | 3.5500 | 3.3490 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2622 | 0.2517 | model_form_blend |
| predicted_BB | 0.4050 | 0.4090 | 0.4067 | model_form_blend |
| predicted_H | 0.3500 | 0.9310 | 0.5945 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.0600 | 0.1590 | 0.1017 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3444 | 0.3216 | model_form_blend |
| predicted_R | 0.5140 | 0.4820 | 0.5005 | model_form_blend |
| predicted_RBI | 0.1900 | 0.4110 | 0.2830 | model_form_blend |
| predicted_SLG | 0.4320 | 0.4635 | 0.4453 | model_form_blend |
| predicted_SO | 0.6890 | 0.8090 | 0.7395 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 3B-2B |
| gameID | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 678554 |
| playerID | 678554 |
| playerName | Curtis Mead |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.346 |
| sl_xwoba | 0.356 |
| sl_xba | 0.258 |
| sl_xslg | 0.458 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 41.9 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 17.2 |
| sl_swing_percent | 41.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.242 | 1.000 | 0.000 | Hitting_2B | 0.270 | 0.000 | 0.730 | 1.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_AB | 4.330 | 4.000 | 4.000 | Hitting_AB | 3.860 | 3.000 | 0.140 | 1.000 |
| predicted_AVG | 0.259 | 0.250 | 0.250 | Hitting_AVG | 0.286 | 0.000 | -0.036 | 0.250 |
| predicted_BB | 0.769 | 0.000 | 1.000 | Hitting_BB | 0.860 | 2.000 | -0.860 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 1.120 | 1.000 | 1.000 | Hitting_H | 1.103 | 0.000 | -0.103 | 1.000 |
| predicted_HR | 0.270 | 0.000 | 0.000 | Hitting_HR | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_OBP | 0.389 | 0.250 | 0.400 | Hitting_OBP | 0.424 | 0.400 | -0.174 | -0.150 |
| predicted_R | 0.857 | 1.000 | 1.000 | Hitting_R | 0.963 | 1.000 | 0.037 | 0.000 |
| predicted_RBI | 0.720 | 0.000 | 1.000 | Hitting_RBI | 0.703 | 0.000 | -0.703 | 0.000 |
| predicted_SLG | 0.552 | 0.500 | 0.250 | Hitting_SLG | 0.573 | 0.000 | -0.073 | 0.500 |
| predicted_SO | 1.374 | 0.000 | 1.000 | Hitting_SO | 1.397 | 0.000 | -1.397 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.2420 -> 1.0000 (boost 0.7580, better) |
| Biggest Deboost | predicted_SO: 1.3740 -> 0.0000 (deboost -1.3740, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.5520 -> 0.5824 (boost 0.0304, better) | predicted_AB: 4.3300 -> 4.1185 (deboost -0.2115, worse) | Final model input calibrated with local 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.5824 -> 0.5615 (deboost -0.0209, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_RBI: 0.7429 -> 1.0000 (boost 0.2571, better) | predicted_HR: 0.2808 -> 0.0000 (deboost -0.2808, worse) | AB rounded to 4 (raw=4.33), rates preserved: AVG=0.265 HR/AB=0.065 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8744 -> 1.0000 (boost 0.1256, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5615 -> 0.2500 (deboost -0.3115, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 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.5615 (boost 0.3115, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695578",
"player_name": "James Wood",
"position": "DH",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.242,
"predicted_3B": 0.011,
"predicted_AB": 4.33,
"predicted_AVG": 0.259,
"predicted_BB": 0.769,
"predicted_H": 1.12,
"predicted_HR": 0.27,
"predicted_OBP": 0.389,
"predicted_R": 0.857,
"predicted_RBI": 0.72,
"predicted_SLG": 0.552,
"predicted_SO": 1.374
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2575,
"predicted_3B": 0.0334,
"predicted_AB": 4.1185,
"predicted_AVG": 0.2754,
"predicted_BB": 0.8,
"predicted_H": 1.1286,
"predicted_HBP": 0.027,
"predicted_HR": 0.2747,
"predicted_OBP": 0.4036,
"predicted_R": 0.854,
"predicted_RBI": 0.7256,
"predicted_SLG": 0.5824,
"predicted_SO": 1.2659
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.2575,
"delta": 0.0155,
"percent_delta": 0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0334,
"delta": 0.0224,
"percent_delta": 2.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 4.1185,
"delta": -0.2115,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2754,
"delta": 0.0164,
"percent_delta": 0.0633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.769,
"after": 0.8,
"delta": 0.031,
"percent_delta": 0.0403,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1286,
"delta": 0.0086,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.2747,
"delta": 0.0047,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.389,
"after": 0.4036,
"delta": 0.0146,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.857,
"after": 0.854,
"delta": -0.003,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.7256,
"delta": 0.0056,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.552,
"after": 0.5824,
"delta": 0.0304,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.374,
"after": 1.2659,
"delta": -0.1081,
"percent_delta": -0.0787,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.552,
"after": 0.5824,
"delta": 0.0304,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.33,
"after": 4.1185,
"delta": -0.2115,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 91
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2575,
"predicted_3B": 0.0334,
"predicted_AB": 4.1185,
"predicted_AVG": 0.2782,
"predicted_BB": 0.8042,
"predicted_H": 1.1458,
"predicted_HBP": 0.027,
"predicted_HR": 0.2808,
"predicted_OBP": 0.3961,
"predicted_R": 0.8744,
"predicted_RBI": 0.7429,
"predicted_SLG": 0.5615,
"predicted_SO": 1.2592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2575,
"after": 0.2575,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0334,
"after": 0.0334,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1185,
"after": 4.1185,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2754,
"after": 0.2782,
"delta": 0.0028,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8,
"after": 0.8042,
"delta": 0.0042,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1286,
"after": 1.1458,
"delta": 0.0172,
"percent_delta": 0.0152,
"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.2747,
"after": 0.2808,
"delta": 0.0061,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4036,
"after": 0.3961,
"delta": -0.0075,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.854,
"after": 0.8744,
"delta": 0.0204,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7256,
"after": 0.7429,
"delta": 0.0173,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5824,
"after": 0.5615,
"delta": -0.0209,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2659,
"after": 1.2592,
"delta": -0.0067,
"percent_delta": -0.0053,
"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.5824,
"after": 0.5615,
"delta": -0.0209,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.33), rates preserved: AVG=0.265 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.2575,
"after": 0.0,
"delta": -0.2575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0334,
"after": 0.0,
"delta": -0.0334,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1185,
"after": 4.0,
"delta": -0.1185,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8042,
"after": 1.0,
"delta": 0.1958,
"percent_delta": 0.2435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1458,
"after": 1.0,
"delta": -0.1458,
"percent_delta": -0.1272,
"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.2808,
"after": 0.0,
"delta": -0.2808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7429,
"after": 1.0,
"delta": 0.2571,
"percent_delta": 0.3461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2592,
"after": 1.0,
"delta": -0.2592,
"percent_delta": -0.2058,
"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.7429,
"after": 1.0,
"delta": 0.2571,
"percent_delta": 0.3461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2808,
"after": 0.0,
"delta": -0.2808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.8744,
"after": 1.0,
"delta": 0.1256,
"percent_delta": 0.1436,
"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.8744,
"after": 1.0,
"delta": 0.1256,
"percent_delta": 0.1436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2782,
"after": 0.25,
"delta": -0.0282,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3961,
"after": 0.4,
"delta": 0.0039,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5615,
"after": 0.25,
"delta": -0.3115,
"percent_delta": -0.5548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.5615,
"after": 0.25,
"delta": -0.3115,
"percent_delta": -0.5548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2782,
"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.3961,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5615,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2782,
"delta": 0.0282,
"percent_delta": 0.1128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3961,
"delta": -0.0039,
"percent_delta": -0.0097,
"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.5615,
"delta": 0.3115,
"percent_delta": 1.2459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.5615,
"delta": 0.3115,
"percent_delta": 1.2459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 4.0,
"delta": -0.33,
"percent_delta": -0.0762,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2782,
"delta": 0.0192,
"percent_delta": 0.0741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.769,
"after": 0.0,
"delta": -0.769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.389,
"after": 0.3961,
"delta": 0.0071,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.857,
"after": 1.0,
"delta": 0.143,
"percent_delta": 0.1669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.552,
"after": 0.5615,
"delta": 0.0095,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.374,
"after": 0.0,
"delta": -1.374,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.242,
"after": 1.0,
"delta": 0.758,
"percent_delta": 3.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.374,
"after": 0.0,
"delta": -1.374,
"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.242 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 4.330 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.769 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.270 | - |
| predicted_OBP | 0.389 | - |
| predicted_R | 0.857 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.552 | - |
| predicted_SO | 1.374 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.258 | 0.016 |
| predicted_3B | 0.033 | 0.022 |
| predicted_AB | 4.119 | -0.212 |
| predicted_AVG | 0.275 | 0.016 |
| predicted_BB | 0.800 | 0.031 |
| predicted_H | 1.129 | 0.009 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.275 | 0.005 |
| predicted_OBP | 0.404 | 0.015 |
| predicted_R | 0.854 | -0.003 |
| predicted_RBI | 0.726 | 0.006 |
| predicted_SLG | 0.582 | 0.030 |
| predicted_SO | 1.266 | -0.108 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.258 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 4.119 | 0.000 |
| predicted_AVG | 0.278 | 0.003 |
| predicted_BB | 0.804 | 0.004 |
| predicted_H | 1.146 | 0.017 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.281 | 0.006 |
| predicted_OBP | 0.396 | -0.008 |
| predicted_R | 0.874 | 0.020 |
| predicted_RBI | 0.743 | 0.017 |
| predicted_SLG | 0.561 | -0.021 |
| predicted_SO | 1.259 | -0.007 |
AB rounded to 4 (raw=4.33), rates preserved: AVG=0.265 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.258 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | -0.119 |
| predicted_AVG | 0.250 | -0.028 |
| predicted_BB | 1.000 | 0.196 |
| predicted_H | 1.000 | -0.146 |
| predicted_HR | 0.000 | -0.281 |
| predicted_OBP | 0.400 | 0.004 |
| predicted_R | 1.000 | 0.126 |
| predicted_RBI | 1.000 | 0.257 |
| predicted_SLG | 0.250 | -0.311 |
| predicted_SO | 1.000 | -0.259 |
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 | 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 | 2.000 | 1.000 | 2.000 | 6.000 | 5.000 | 6.000 | 2.000 | 0.4211 | 0.5600 | 0.9474 | 0.4210 | 0.1053 | 0.3158 | 0.3158 | 0.1053 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 3.000 | 1.000 | 3.000 | 7.000 | 8.000 | 9.000 | 12.000 | 0.2821 | 0.4167 | 0.6410 | 0.2821 | 0.0769 | 0.1795 | 0.2308 | 0.3077 |
| season | 0.60 | 91 | - | 349.000 | 93.000 | 22.000 | 1.000 | 23.000 | 56.000 | 78.000 | 70.000 | 125.000 | 0.2665 | 0.3929 | 0.5330 | 0.2665 | 0.0659 | 0.1605 | 0.2006 | 0.3582 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2780 |
| predicted_3B | 0.0630 |
| predicted_AB | 3.8390 |
| predicted_AVG | 0.2971 |
| predicted_BB | 0.8410 |
| predicted_H | 1.1400 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.2810 |
| predicted_OBP | 0.4228 |
| predicted_R | 0.8500 |
| predicted_RBI | 0.7330 |
| predicted_SLG | 0.6225 |
| predicted_SO | 1.1230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 0.2780 | 0.2575 | model_form_blend |
| predicted_3B | 0.0110 | 0.0630 | 0.0334 | model_form_blend |
| predicted_AB | 4.3300 | 3.8390 | 4.1185 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2971 | 0.2754 | model_form_blend |
| predicted_BB | 0.7690 | 0.8410 | 0.8000 | model_form_blend |
| predicted_H | 1.1200 | 1.1400 | 1.1286 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.2700 | 0.2810 | 0.2747 | model_form_blend |
| predicted_OBP | 0.3890 | 0.4228 | 0.4036 | model_form_blend |
| predicted_R | 0.8570 | 0.8500 | 0.8540 | model_form_blend |
| predicted_RBI | 0.7200 | 0.7330 | 0.7256 | model_form_blend |
| predicted_SLG | 0.5520 | 0.6225 | 0.5824 | model_form_blend |
| predicted_SO | 1.3740 | 1.1230 | 1.2659 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 300 |
| Season rows before report date | 300 |
| Report year | 2026 |
| Profile rows used | 91 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 695578 |
| playerID | 695578 |
| playerName | James Wood |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 16.5 |
| sl_woba | 0.394 |
| sl_xwoba | 0.424 |
| sl_xba | 0.275 |
| sl_xslg | 0.603 |
| sl_sweet_spot_percent | 43.4 |
| sl_barrel_batted_rate | 22.6 |
| sl_hard_hit_percent | 60.2 |
| sl_exit_velocity_avg | 95.2 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 38.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.184 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.940 | 4.000 | 4.000 | Hitting_AB | 3.807 | 4.000 | 0.193 | 0.000 |
| predicted_AVG | 0.235 | 0.500 | 0.250 | Hitting_AVG | 0.291 | 0.250 | 0.209 | 0.250 |
| predicted_BB | 0.356 | 0.000 | 0.000 | Hitting_BB | 0.431 | 0.000 | -0.431 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_H | 0.930 | 2.000 | 1.000 | Hitting_H | 1.108 | 1.000 | 0.892 | 1.000 |
| predicted_HR | 0.160 | 1.000 | 0.000 | Hitting_HR | 0.201 | 0.000 | 0.799 | 1.000 |
| predicted_OBP | 0.294 | 0.500 | 0.250 | Hitting_OBP | 0.377 | 0.200 | 0.123 | 0.300 |
| predicted_R | 0.609 | 1.000 | 1.000 | Hitting_R | 0.610 | 0.000 | 0.390 | 1.000 |
| predicted_RBI | 0.590 | 2.000 | 1.000 | Hitting_RBI | 0.818 | 1.000 | 1.182 | 1.000 |
| predicted_SLG | 0.417 | 1.250 | 0.250 | Hitting_SLG | 0.529 | 0.250 | 0.721 | 1.000 |
| predicted_SO | 0.920 | 1.000 | 1.000 | Hitting_SO | 0.903 | 0.000 | 0.097 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 2 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5900 -> 2.0000 (boost 1.4100, 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 | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.9200 -> 0.9786 (boost 0.0586, worse) | predicted_AB: 3.9400 -> 3.8754 (deboost -0.0646, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4200 -> 0.4260 (boost 0.0060, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 3 | 4 | predicted_RBI: 0.6282 -> 1.0000 (boost 0.3718, better) | predicted_BB: 0.3170 -> 0.0000 (deboost -0.3170, worse) | AB rounded to 4 (raw=3.94), rates preserved: AVG=0.233 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5705 -> 1.0000 (boost 0.4295, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2367 -> 0.2500 (boost 0.0133, better) | predicted_SLG: 0.4260 -> 0.2500 (deboost -0.1760, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4260 (boost 0.1760, better) | predicted_AVG: 0.2500 -> 0.2367 (deboost -0.0133, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682928",
"player_name": "CJ Abrams",
"position": "SS",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.184,
"predicted_3B": 0.023,
"predicted_AB": 3.94,
"predicted_AVG": 0.235,
"predicted_BB": 0.356,
"predicted_H": 0.93,
"predicted_HR": 0.16,
"predicted_OBP": 0.294,
"predicted_R": 0.609,
"predicted_RBI": 0.59,
"predicted_SLG": 0.417,
"predicted_SO": 0.92
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1784,
"predicted_3B": 0.0191,
"predicted_AB": 3.8754,
"predicted_AVG": 0.2324,
"predicted_BB": 0.3153,
"predicted_H": 0.9035,
"predicted_HBP": 0.087,
"predicted_HR": 0.1686,
"predicted_OBP": 0.2915,
"predicted_R": 0.5572,
"predicted_RBI": 0.6135,
"predicted_SLG": 0.42,
"predicted_SO": 0.9786
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.1784,
"delta": -0.0056,
"percent_delta": -0.0304,
"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.94,
"after": 3.8754,
"delta": -0.0646,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2324,
"delta": -0.0026,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.3153,
"delta": -0.0407,
"percent_delta": -0.1143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9035,
"delta": -0.0265,
"percent_delta": -0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1686,
"delta": 0.0086,
"percent_delta": 0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2915,
"delta": -0.0025,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.609,
"after": 0.5572,
"delta": -0.0518,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6135,
"delta": 0.0235,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.42,
"delta": 0.003,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 0.9786,
"delta": 0.0586,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.92,
"after": 0.9786,
"delta": 0.0586,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.94,
"after": 3.8754,
"delta": -0.0646,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1784,
"predicted_3B": 0.0191,
"predicted_AB": 3.8754,
"predicted_AVG": 0.2367,
"predicted_BB": 0.317,
"predicted_H": 0.9172,
"predicted_HBP": 0.087,
"predicted_HR": 0.1723,
"predicted_OBP": 0.2944,
"predicted_R": 0.5705,
"predicted_RBI": 0.6282,
"predicted_SLG": 0.426,
"predicted_SO": 0.9734
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1784,
"after": 0.1784,
"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.8754,
"after": 3.8754,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2324,
"after": 0.2367,
"delta": 0.0043,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3153,
"after": 0.317,
"delta": 0.0017,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9035,
"after": 0.9172,
"delta": 0.0137,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1686,
"after": 0.1723,
"delta": 0.0037,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2915,
"after": 0.2944,
"delta": 0.0029,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5572,
"after": 0.5705,
"delta": 0.0133,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6135,
"after": 0.6282,
"delta": 0.0147,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.426,
"delta": 0.006,
"percent_delta": 0.0143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9786,
"after": 0.9734,
"delta": -0.0052,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.426,
"delta": 0.006,
"percent_delta": 0.0143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.94), rates preserved: AVG=0.233 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1784,
"after": 0.0,
"delta": -0.1784,
"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.8754,
"after": 4.0,
"delta": 0.1246,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9172,
"after": 1.0,
"delta": 0.0828,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1723,
"after": 0.0,
"delta": -0.1723,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6282,
"after": 1.0,
"delta": 0.3718,
"percent_delta": 0.5918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9734,
"after": 1.0,
"delta": 0.0266,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6282,
"after": 1.0,
"delta": 0.3718,
"percent_delta": 0.5918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5705,
"after": 1.0,
"delta": 0.4295,
"percent_delta": 0.7528,
"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.5705,
"after": 1.0,
"delta": 0.4295,
"percent_delta": 0.7528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2367,
"after": 0.25,
"delta": 0.0133,
"percent_delta": 0.0562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2944,
"after": 0.25,
"delta": -0.0444,
"percent_delta": -0.1508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.25,
"delta": -0.176,
"percent_delta": -0.4131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2367,
"after": 0.25,
"delta": 0.0133,
"percent_delta": 0.0562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.25,
"delta": -0.176,
"percent_delta": -0.4131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.2367,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2944,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.426,
"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.2367,
"delta": -0.0133,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2944,
"delta": 0.0444,
"percent_delta": 0.1776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.426,
"delta": 0.176,
"percent_delta": 0.7039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.426,
"delta": 0.176,
"percent_delta": 0.7039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2367,
"delta": -0.0133,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.0,
"delta": -0.184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 4.0,
"delta": 0.06,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2367,
"delta": 0.0017,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.93,
"after": 2.0,
"delta": 1.07,
"percent_delta": 1.1505,
"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.294,
"after": 0.2944,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.609,
"after": 1.0,
"delta": 0.391,
"percent_delta": 0.642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.426,
"delta": 0.009,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.609 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.920 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | -0.006 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.875 | -0.065 |
| predicted_AVG | 0.232 | -0.003 |
| predicted_BB | 0.315 | -0.041 |
| predicted_H | 0.903 | -0.027 |
| predicted_HBP | 0.087 | - |
| predicted_HR | 0.169 | 0.009 |
| predicted_OBP | 0.291 | -0.003 |
| predicted_R | 0.557 | -0.052 |
| predicted_RBI | 0.614 | 0.024 |
| predicted_SLG | 0.420 | 0.003 |
| predicted_SO | 0.979 | 0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.875 | 0.000 |
| predicted_AVG | 0.237 | 0.004 |
| predicted_BB | 0.317 | 0.002 |
| predicted_H | 0.917 | 0.014 |
| predicted_HBP | 0.087 | 0.000 |
| predicted_HR | 0.172 | 0.004 |
| predicted_OBP | 0.294 | 0.003 |
| predicted_R | 0.571 | 0.013 |
| predicted_RBI | 0.628 | 0.015 |
| predicted_SLG | 0.426 | 0.006 |
| predicted_SO | 0.973 | -0.005 |
AB rounded to 4 (raw=3.94), rates preserved: AVG=0.233 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 | 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.019 |
| predicted_AB | 4.000 | 0.125 |
| predicted_AVG | 0.250 | 0.013 |
| predicted_BB | 0.000 | -0.317 |
| predicted_H | 1.000 | 0.083 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.250 | -0.044 |
| predicted_R | 1.000 | 0.429 |
| predicted_RBI | 1.000 | 0.372 |
| predicted_SLG | 0.250 | -0.176 |
| predicted_SO | 1.000 | 0.027 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 21.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 6.000 | 0.1905 | 0.1905 | 0.3810 | 0.1905 | 0.0476 | 0.1905 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 10 | - | 36.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 2.000 | 14.000 | 0.1389 | 0.2000 | 0.2500 | 0.1389 | 0.0278 | 0.1111 | 0.0556 | 0.3889 |
| season | 0.60 | 87 | - | 323.000 | 87.000 | 16.000 | 2.000 | 18.000 | 61.000 | 53.000 | 31.000 | 80.000 | 0.2693 | 0.3478 | 0.4985 | 0.2693 | 0.0557 | 0.1888 | 0.0960 | 0.2477 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7890 |
| predicted_AVG | 0.2290 |
| predicted_BB | 0.2610 |
| predicted_H | 0.8680 |
| predicted_HBP | 0.0870 |
| predicted_HR | 0.1800 |
| predicted_OBP | 0.2882 |
| predicted_R | 0.4880 |
| predicted_RBI | 0.6450 |
| predicted_SLG | 0.4241 |
| predicted_SO | 1.0570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.1710 | 0.1784 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 3.9400 | 3.7890 | 3.8754 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2290 | 0.2324 | model_form_blend |
| predicted_BB | 0.3560 | 0.2610 | 0.3153 | model_form_blend |
| predicted_H | 0.9300 | 0.8680 | 0.9035 | model_form_blend |
| predicted_HBP | - | 0.0870 | 0.0870 | form_only |
| predicted_HR | 0.1600 | 0.1800 | 0.1686 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2882 | 0.2915 | model_form_blend |
| predicted_R | 0.6090 | 0.4880 | 0.5572 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6450 | 0.6135 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4241 | 0.4200 | model_form_blend |
| predicted_SO | 0.9200 | 1.0570 | 0.9786 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| 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 | SS |
| gameID | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 682928 |
| playerID | 682928 |
| playerName | CJ Abrams |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.364 |
| sl_xwoba | 0.332 |
| sl_xba | 0.246 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 18.5 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 51.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.900 | 4.000 | 4.000 | Hitting_AB | 3.938 | 3.000 | 0.062 | 1.000 |
| predicted_AVG | 0.249 | 0.000 | 0.250 | Hitting_AVG | 0.238 | 0.333 | -0.238 | -0.333 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.172 | 1.000 | -0.172 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 0.938 | 1.000 | -0.938 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.141 | 1.000 | -0.141 | -1.000 |
| predicted_OBP | 0.328 | 0.000 | 0.250 | Hitting_OBP | 0.281 | 0.500 | -0.281 | -0.500 |
| predicted_R | 0.575 | 0.000 | 1.000 | Hitting_R | 0.406 | 2.000 | -0.406 | -2.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.328 | 1.000 | -0.328 | -1.000 |
| predicted_SLG | 0.407 | 0.000 | 0.250 | Hitting_SLG | 0.381 | 1.333 | -0.381 | -1.333 |
| predicted_SO | 0.875 | 1.000 | 1.000 | Hitting_SO | 0.812 | 0.000 | 0.188 | 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.8750 -> 1.0000 (boost 0.1250, worse) |
| Biggest Deboost | predicted_H: 0.9700 -> 0.0000 (deboost -0.9700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.2000 -> 0.2758 (boost 0.0758, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3316 -> 0.3079 (deboost -0.0237, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 3.8546 -> 4.0000 (boost 0.1454, better) | predicted_RBI: 0.3831 -> 0.0000 (deboost -0.3831, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.255 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5879 -> 1.0000 (boost 0.4121, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4030 -> 0.2500 (deboost -0.1530, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4030 (boost 0.1530, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686611",
"player_name": "Dylan Crews",
"position": "RF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 3.9,
"predicted_AVG": 0.249,
"predicted_BB": 0.2,
"predicted_H": 0.97,
"predicted_HR": 0.14,
"predicted_OBP": 0.328,
"predicted_R": 0.575,
"predicted_RBI": 0.39,
"predicted_SLG": 0.407,
"predicted_SO": 0.875
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1177,
"predicted_3B": 0.0008,
"predicted_AB": 3.8546,
"predicted_AVG": 0.2546,
"predicted_BB": 0.2758,
"predicted_H": 0.9801,
"predicted_HBP": 0.055,
"predicted_HR": 0.1432,
"predicted_OBP": 0.3316,
"predicted_R": 0.5742,
"predicted_RBI": 0.3742,
"predicted_SLG": 0.408,
"predicted_SO": 0.877
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1177,
"delta": -0.0073,
"percent_delta": -0.0584,
"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.9,
"after": 3.8546,
"delta": -0.0454,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2546,
"delta": 0.0056,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2758,
"delta": 0.0758,
"percent_delta": 0.379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9801,
"delta": 0.0101,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1432,
"delta": 0.0032,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3316,
"delta": 0.0036,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.5742,
"delta": -0.0008,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3742,
"delta": -0.0158,
"percent_delta": -0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.408,
"delta": 0.001,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 0.877,
"delta": 0.002,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2758,
"delta": 0.0758,
"percent_delta": 0.379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 40
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1177,
"predicted_3B": 0.0008,
"predicted_AB": 3.8546,
"predicted_AVG": 0.2581,
"predicted_BB": 0.2773,
"predicted_H": 0.995,
"predicted_HBP": 0.055,
"predicted_HR": 0.1464,
"predicted_OBP": 0.3079,
"predicted_R": 0.5879,
"predicted_RBI": 0.3831,
"predicted_SLG": 0.403,
"predicted_SO": 0.8724
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1177,
"after": 0.1177,
"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.8546,
"after": 3.8546,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2546,
"after": 0.2581,
"delta": 0.0035,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2758,
"after": 0.2773,
"delta": 0.0015,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9801,
"after": 0.995,
"delta": 0.0149,
"percent_delta": 0.0152,
"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.1432,
"after": 0.1464,
"delta": 0.0032,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3316,
"after": 0.3079,
"delta": -0.0237,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5742,
"after": 0.5879,
"delta": 0.0137,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3742,
"after": 0.3831,
"delta": 0.0089,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.403,
"delta": -0.005,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.877,
"after": 0.8724,
"delta": -0.0046,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3316,
"after": 0.3079,
"delta": -0.0237,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.255 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.1177,
"after": 0.0,
"delta": -0.1177,
"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.8546,
"after": 4.0,
"delta": 0.1454,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2773,
"after": 0.0,
"delta": -0.2773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.995,
"after": 1.0,
"delta": 0.005,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1464,
"after": 0.0,
"delta": -0.1464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3831,
"after": 0.0,
"delta": -0.3831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8724,
"after": 1.0,
"delta": 0.1276,
"percent_delta": 0.1463,
"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": 3.8546,
"after": 4.0,
"delta": 0.1454,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3831,
"after": 0.0,
"delta": -0.3831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5879,
"after": 1.0,
"delta": 0.4121,
"percent_delta": 0.701,
"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.5879,
"after": 1.0,
"delta": 0.4121,
"percent_delta": 0.701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2581,
"after": 0.25,
"delta": -0.0081,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3079,
"after": 0.25,
"delta": -0.0579,
"percent_delta": -0.188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.25,
"delta": -0.153,
"percent_delta": -0.3797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.403,
"after": 0.25,
"delta": -0.153,
"percent_delta": -0.3797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2581,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3079,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2581,
"delta": 0.0081,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3079,
"delta": 0.0579,
"percent_delta": 0.2317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.403,
"delta": 0.153,
"percent_delta": 0.612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.403,
"delta": 0.153,
"percent_delta": 0.612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2581,
"delta": 0.0091,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"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.328,
"after": 0.3079,
"delta": -0.0201,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.403,
"delta": -0.004,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 1.0,
"delta": 0.125,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.875,
"after": 1.0,
"delta": 0.125,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.575 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 0.875 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | -0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.855 | -0.045 |
| predicted_AVG | 0.255 | 0.006 |
| predicted_BB | 0.276 | 0.076 |
| predicted_H | 0.980 | 0.010 |
| predicted_HBP | 0.055 | - |
| predicted_HR | 0.143 | 0.003 |
| predicted_OBP | 0.332 | 0.004 |
| predicted_R | 0.574 | -0.001 |
| predicted_RBI | 0.374 | -0.016 |
| predicted_SLG | 0.408 | 0.001 |
| predicted_SO | 0.877 | 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.118 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.855 | 0.000 |
| predicted_AVG | 0.258 | 0.004 |
| predicted_BB | 0.277 | 0.002 |
| predicted_H | 0.995 | 0.015 |
| predicted_HBP | 0.055 | 0.000 |
| predicted_HR | 0.146 | 0.003 |
| predicted_OBP | 0.308 | -0.024 |
| predicted_R | 0.588 | 0.014 |
| predicted_RBI | 0.383 | 0.009 |
| predicted_SLG | 0.403 | -0.005 |
| predicted_SO | 0.872 | -0.005 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.255 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.118 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.145 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.277 |
| predicted_H | 1.000 | 0.005 |
| predicted_HR | 0.000 | -0.146 |
| predicted_OBP | 0.250 | -0.058 |
| predicted_R | 1.000 | 0.412 |
| predicted_RBI | 0.000 | -0.383 |
| predicted_SLG | 0.250 | -0.153 |
| predicted_SO | 1.000 | 0.128 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 4.000 | 4.000 | 0.3333 | 0.4545 | 0.5000 | 0.3333 | 0.0556 | 0.0556 | 0.2222 | 0.2222 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 1.000 | 0.000 | 1.000 | 1.000 | 6.000 | 6.000 | 10.000 | 0.2973 | 0.3953 | 0.4054 | 0.2973 | 0.0270 | 0.0270 | 0.1622 | 0.2703 |
| season | 0.60 | 40 | - | 155.000 | 36.000 | 5.000 | 0.000 | 6.000 | 18.000 | 23.000 | 8.000 | 35.000 | 0.2323 | 0.2874 | 0.3806 | 0.2323 | 0.0387 | 0.1161 | 0.0516 | 0.2258 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.7880 |
| predicted_AVG | 0.2628 |
| predicted_BB | 0.3870 |
| predicted_H | 0.9950 |
| predicted_HBP | 0.0550 |
| predicted_HR | 0.1480 |
| predicted_OBP | 0.3369 |
| predicted_R | 0.5730 |
| predicted_RBI | 0.3510 |
| predicted_SLG | 0.4094 |
| predicted_SO | 0.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1070 | 0.1177 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.9000 | 3.7880 | 3.8546 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2628 | 0.2546 | model_form_blend |
| predicted_BB | 0.2000 | 0.3870 | 0.2758 | model_form_blend |
| predicted_H | 0.9700 | 0.9950 | 0.9801 | model_form_blend |
| predicted_HBP | - | 0.0550 | 0.0550 | form_only |
| predicted_HR | 0.1400 | 0.1480 | 0.1432 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3369 | 0.3316 | model_form_blend |
| predicted_R | 0.5750 | 0.5730 | 0.5742 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3510 | 0.3742 | model_form_blend |
| predicted_SLG | 0.4070 | 0.4094 | 0.4080 | model_form_blend |
| predicted_SO | 0.8750 | 0.8800 | 0.8770 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 40 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| 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 | CF |
| gameID | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 686611 |
| playerID | 686611 |
| playerName | Dylan Crews |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.296 |
| sl_xwoba | 0.333 |
| sl_xba | 0.261 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 44.2 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 53.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.098 | 0.000 | 0.000 | Hitting_2B | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.049 | 3.000 | 3.000 | Hitting_AB | 3.119 | 1.000 | -0.119 | 2.000 |
| predicted_AVG | 0.248 | 0.000 | 0.333 | Hitting_AVG | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_BB | 0.317 | 0.000 | 0.000 | Hitting_BB | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 0.000 | 1.000 | Hitting_H | 0.568 | 0.000 | -0.568 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_OBP | 0.306 | 0.000 | 0.333 | Hitting_OBP | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_R | 0.439 | 0.000 | 0.000 | Hitting_R | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_SLG | 0.306 | 0.000 | 0.333 | Hitting_SLG | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_SO | 0.829 | 0.000 | 1.000 | Hitting_SO | 0.822 | 1.000 | -0.822 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.8290 -> 0.0000 (deboost -0.8290, 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.0490 -> 3.1016 (boost 0.0526, better) | predicted_AVG: 0.2480 -> 0.2286 (deboost -0.0194, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2286 -> 0.1988 (deboost -0.0298, 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.6167 -> 1.0000 (boost 0.3833, better) | predicted_BB: 0.3491 -> 0.0000 (deboost -0.3491, worse) | AB rounded to 3 (raw=3.10), rates preserved: AVG=0.199 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4491 -> 0.0000 (deboost -0.4491, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1988 -> 0.3330 (boost 0.1342, 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.1988 (deboost -0.1342, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686452",
"player_name": "Drew Millas",
"position": "C",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.098,
"predicted_3B": 0.0,
"predicted_AB": 3.049,
"predicted_AVG": 0.248,
"predicted_BB": 0.317,
"predicted_H": 0.59,
"predicted_HR": 0.06,
"predicted_OBP": 0.306,
"predicted_R": 0.439,
"predicted_RBI": 0.26,
"predicted_SLG": 0.306,
"predicted_SO": 0.829
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0964,
"predicted_3B": 0.0008,
"predicted_AB": 3.1016,
"predicted_AVG": 0.2286,
"predicted_BB": 0.3473,
"predicted_H": 0.6075,
"predicted_HBP": 0.111,
"predicted_HR": 0.054,
"predicted_OBP": 0.3067,
"predicted_R": 0.4386,
"predicted_RBI": 0.2508,
"predicted_SLG": 0.2927,
"predicted_SO": 0.8629
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.098,
"after": 0.0964,
"delta": -0.0016,
"percent_delta": -0.0163,
"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.049,
"after": 3.1016,
"delta": 0.0526,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2286,
"delta": -0.0194,
"percent_delta": -0.0782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.3473,
"delta": 0.0303,
"percent_delta": 0.0956,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.6075,
"delta": 0.0175,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.054,
"delta": -0.006,
"percent_delta": -0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3067,
"delta": 0.0007,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.4386,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2508,
"delta": -0.0092,
"percent_delta": -0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2927,
"delta": -0.0133,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 0.8629,
"delta": 0.0339,
"percent_delta": 0.0409,
"direction": "no_change",
"projection_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.049,
"after": 3.1016,
"delta": 0.0526,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2286,
"delta": -0.0194,
"percent_delta": -0.0782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 41
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0964,
"predicted_3B": 0.0008,
"predicted_AB": 3.1016,
"predicted_AVG": 0.1988,
"predicted_BB": 0.3491,
"predicted_H": 0.6167,
"predicted_HBP": 0.111,
"predicted_HR": 0.0552,
"predicted_OBP": 0.2799,
"predicted_R": 0.4491,
"predicted_RBI": 0.2568,
"predicted_SLG": 0.2838,
"predicted_SO": 0.8583
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0964,
"after": 0.0964,
"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.1016,
"after": 3.1016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2286,
"after": 0.1988,
"delta": -0.0298,
"percent_delta": -0.1304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3473,
"after": 0.3491,
"delta": 0.0018,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6075,
"after": 0.6167,
"delta": 0.0092,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.054,
"after": 0.0552,
"delta": 0.0012,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3067,
"after": 0.2799,
"delta": -0.0268,
"percent_delta": -0.0874,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4386,
"after": 0.4491,
"delta": 0.0105,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2508,
"after": 0.2568,
"delta": 0.006,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2927,
"after": 0.2838,
"delta": -0.0089,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8629,
"after": 0.8583,
"delta": -0.0046,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2286,
"after": 0.1988,
"delta": -0.0298,
"percent_delta": -0.1304,
"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.199 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.0964,
"after": 0.0,
"delta": -0.0964,
"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.1016,
"after": 3.0,
"delta": -0.1016,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3491,
"after": 0.0,
"delta": -0.3491,
"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.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0552,
"after": 0.0,
"delta": -0.0552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2568,
"after": 0.0,
"delta": -0.2568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8583,
"after": 1.0,
"delta": 0.1417,
"percent_delta": 0.1651,
"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.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.3491,
"after": 0.0,
"delta": -0.3491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4491,
"after": 0.0,
"delta": -0.4491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4491,
"after": 0.0,
"delta": -0.4491,
"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.1988,
"after": 0.333,
"delta": 0.1342,
"percent_delta": 0.6751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2799,
"after": 0.333,
"delta": 0.0531,
"percent_delta": 0.1897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2838,
"after": 0.333,
"delta": 0.0492,
"percent_delta": 0.1734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1988,
"after": 0.333,
"delta": 0.1342,
"percent_delta": 0.6751,
"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.1988,
"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.2799,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2838,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1988,
"delta": -0.1342,
"percent_delta": -0.4029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2799,
"delta": -0.0531,
"percent_delta": -0.1594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2838,
"delta": -0.0492,
"percent_delta": -0.1477,
"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.1988,
"delta": -0.1342,
"percent_delta": -0.4029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.049,
"after": 3.0,
"delta": -0.049,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.1988,
"delta": -0.0492,
"percent_delta": -0.1984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"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.306,
"after": 0.2799,
"delta": -0.0261,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2838,
"delta": -0.0222,
"percent_delta": -0.0725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 0.0,
"delta": -0.829,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.829,
"after": 0.0,
"delta": -0.829,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.098 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.049 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.439 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.306 | - |
| predicted_SO | 0.829 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.096 | -0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.102 | 0.053 |
| predicted_AVG | 0.229 | -0.019 |
| predicted_BB | 0.347 | 0.030 |
| predicted_H | 0.608 | 0.018 |
| predicted_HBP | 0.111 | - |
| predicted_HR | 0.054 | -0.006 |
| predicted_OBP | 0.307 | 0.001 |
| predicted_R | 0.439 | -0.000 |
| predicted_RBI | 0.251 | -0.009 |
| predicted_SLG | 0.293 | -0.013 |
| predicted_SO | 0.863 | 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.096 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.102 | 0.000 |
| predicted_AVG | 0.199 | -0.030 |
| predicted_BB | 0.349 | 0.002 |
| predicted_H | 0.617 | 0.009 |
| predicted_HBP | 0.111 | 0.000 |
| predicted_HR | 0.055 | 0.001 |
| predicted_OBP | 0.280 | -0.027 |
| predicted_R | 0.449 | 0.011 |
| predicted_RBI | 0.257 | 0.006 |
| predicted_SLG | 0.284 | -0.009 |
| predicted_SO | 0.858 | -0.005 |
AB rounded to 3 (raw=3.10), rates preserved: AVG=0.199 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.096 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.102 |
| predicted_AVG | 0.333 | 0.134 |
| predicted_BB | 0.000 | -0.349 |
| predicted_H | 1.000 | 0.383 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | 0.053 |
| predicted_R | 0.000 | -0.449 |
| predicted_RBI | 0.000 | -0.257 |
| predicted_SLG | 0.333 | 0.049 |
| 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 5.000 | 0.2000 | 0.3684 | 0.2000 | 0.2000 | 0.0000 | 0.0667 | 0.2000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 11.000 | 0.1935 | 0.3421 | 0.2258 | 0.1935 | 0.0000 | 0.0323 | 0.1613 | 0.3548 |
| season | 0.60 | 41 | - | 125.000 | 23.000 | 4.000 | 0.000 | 2.000 | 9.000 | 18.000 | 13.000 | 34.000 | 0.1840 | 0.2766 | 0.2640 | 0.1840 | 0.0160 | 0.0720 | 0.1040 | 0.2720 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1810 |
| predicted_AVG | 0.1994 |
| predicted_BB | 0.3930 |
| predicted_H | 0.6340 |
| predicted_HBP | 0.1110 |
| predicted_HR | 0.0450 |
| predicted_OBP | 0.3077 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.2370 |
| predicted_SLG | 0.2727 |
| predicted_SO | 0.9140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0980 | 0.0940 | 0.0964 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0490 | 3.1810 | 3.1016 | model_form_blend |
| predicted_AVG | 0.2480 | 0.1994 | 0.2286 | model_form_blend |
| predicted_BB | 0.3170 | 0.3930 | 0.3473 | model_form_blend |
| predicted_H | 0.5900 | 0.6340 | 0.6075 | model_form_blend |
| predicted_HBP | - | 0.1110 | 0.1110 | form_only |
| predicted_HR | 0.0600 | 0.0450 | 0.0540 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3077 | 0.3067 | model_form_blend |
| predicted_R | 0.4390 | 0.4380 | 0.4386 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2370 | 0.2508 | model_form_blend |
| predicted_SLG | 0.3060 | 0.2727 | 0.2927 | model_form_blend |
| predicted_SO | 0.8290 | 0.9140 | 0.8629 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 118 |
| Season rows before report date | 118 |
| Report year | 2026 |
| Profile rows used | 41 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.184 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-C |
| gameID | 20260705_PIT@WAS |
| game_type | ph |
| mlbID | 686452 |
| note | Ran for Ruiz, K in the 6th. |
| playerID | 686452 |
| playerName | Drew Millas |
| pos | C |
| started | False |
| startingPosition | PR |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.252 |
| sl_xwoba | 0.267 |
| sl_xba | 0.203 |
| sl_xslg | 0.284 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 21.5 |
| sl_exit_velocity_avg | 83.5 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 23.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.225 | 0.000 | 0.000 | Hitting_2B | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.960 | 4.000 | 4.000 | Hitting_AB | 4.075 | 4.000 | -0.075 | 0.000 |
| predicted_AVG | 0.257 | 0.500 | 0.250 | Hitting_AVG | 0.255 | 0.000 | 0.245 | 0.500 |
| predicted_BB | 0.270 | 0.000 | 0.000 | Hitting_BB | 0.330 | 0.000 | -0.330 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_H | 1.020 | 2.000 | 1.000 | Hitting_H | 1.039 | 0.000 | 0.961 | 2.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | 0.875 | 1.000 |
| predicted_OBP | 0.318 | 0.500 | 0.250 | Hitting_OBP | 0.311 | 0.000 | 0.189 | 0.500 |
| predicted_R | 0.539 | 1.000 | 1.000 | Hitting_R | 0.624 | 0.000 | 0.376 | 1.000 |
| predicted_RBI | 0.520 | 3.000 | 1.000 | Hitting_RBI | 0.502 | 0.000 | 2.498 | 3.000 |
| predicted_SLG | 0.461 | 1.250 | 0.250 | Hitting_SLG | 0.420 | 0.000 | 0.830 | 1.250 |
| predicted_SO | 0.730 | 1.000 | 1.000 | Hitting_SO | 0.824 | 1.000 | 0.176 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 2 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5200 -> 3.0000 (boost 2.4800, better) |
| Biggest Deboost | predicted_BB: 0.2700 -> 0.0000 (deboost -0.2700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_H: 1.0200 -> 1.0710 (boost 0.0510, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3201 -> 0.3150 (deboost -0.0051, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5504 -> 1.0000 (boost 0.4496, better) | predicted_2B: 0.2511 -> 0.0000 (deboost -0.2511, worse) | AB rounded to 4 (raw=3.96), rates preserved: AVG=0.275 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5760 -> 1.0000 (boost 0.4240, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4799 -> 0.2500 (deboost -0.2299, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4799 (boost 0.2299, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695734",
"player_name": "Daylen Lile",
"position": "LF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.225,
"predicted_3B": 0.034,
"predicted_AB": 3.96,
"predicted_AVG": 0.257,
"predicted_BB": 0.27,
"predicted_H": 1.02,
"predicted_HR": 0.15,
"predicted_OBP": 0.318,
"predicted_R": 0.539,
"predicted_RBI": 0.52,
"predicted_SLG": 0.461,
"predicted_SO": 0.73
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2511,
"predicted_3B": 0.028,
"predicted_AB": 3.9493,
"predicted_AVG": 0.2709,
"predicted_BB": 0.2276,
"predicted_H": 1.071,
"predicted_HBP": 0.028,
"predicted_HR": 0.1633,
"predicted_OBP": 0.3201,
"predicted_R": 0.5626,
"predicted_RBI": 0.5376,
"predicted_SLG": 0.4821,
"predicted_SO": 0.7454
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 0.2511,
"delta": 0.0261,
"percent_delta": 0.116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.028,
"delta": -0.006,
"percent_delta": -0.1765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.96,
"after": 3.9493,
"delta": -0.0107,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2709,
"delta": 0.0139,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.2276,
"delta": -0.0424,
"percent_delta": -0.157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.071,
"delta": 0.051,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1633,
"delta": 0.0133,
"percent_delta": 0.0887,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3201,
"delta": 0.0021,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.539,
"after": 0.5626,
"delta": 0.0236,
"percent_delta": 0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5376,
"delta": 0.0176,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4821,
"delta": 0.0211,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 0.7454,
"delta": 0.0154,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_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.02,
"after": 1.071,
"delta": 0.051,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2511,
"predicted_3B": 0.028,
"predicted_AB": 3.9493,
"predicted_AVG": 0.2753,
"predicted_BB": 0.2288,
"predicted_H": 1.0873,
"predicted_HBP": 0.028,
"predicted_HR": 0.1669,
"predicted_OBP": 0.315,
"predicted_R": 0.576,
"predicted_RBI": 0.5504,
"predicted_SLG": 0.4799,
"predicted_SO": 0.7414
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2511,
"after": 0.2511,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9493,
"after": 3.9493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2709,
"after": 0.2753,
"delta": 0.0044,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2276,
"after": 0.2288,
"delta": 0.0012,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.071,
"after": 1.0873,
"delta": 0.0163,
"percent_delta": 0.0152,
"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.1633,
"after": 0.1669,
"delta": 0.0036,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3201,
"after": 0.315,
"delta": -0.0051,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5626,
"after": 0.576,
"delta": 0.0134,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5376,
"after": 0.5504,
"delta": 0.0128,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4821,
"after": 0.4799,
"delta": -0.0022,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7454,
"after": 0.7414,
"delta": -0.004,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3201,
"after": 0.315,
"delta": -0.0051,
"percent_delta": -0.0159,
"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.275 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2511,
"after": 0.0,
"delta": -0.2511,
"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.9493,
"after": 4.0,
"delta": 0.0507,
"percent_delta": 0.0128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2288,
"after": 0.0,
"delta": -0.2288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0873,
"after": 1.0,
"delta": -0.0873,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"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.1669,
"after": 0.0,
"delta": -0.1669,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5504,
"after": 1.0,
"delta": 0.4496,
"percent_delta": 0.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7414,
"after": 1.0,
"delta": 0.2586,
"percent_delta": 0.3488,
"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.5504,
"after": 1.0,
"delta": 0.4496,
"percent_delta": 0.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2511,
"after": 0.0,
"delta": -0.2511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.576,
"after": 1.0,
"delta": 0.424,
"percent_delta": 0.7361,
"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.576,
"after": 1.0,
"delta": 0.424,
"percent_delta": 0.7361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2753,
"after": 0.25,
"delta": -0.0253,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4799,
"after": 0.25,
"delta": -0.2299,
"percent_delta": -0.4791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4799,
"after": 0.25,
"delta": -0.2299,
"percent_delta": -0.4791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"after": 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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"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.2753,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.315,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4799,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2753,
"delta": 0.0253,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.26,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4799,
"delta": 0.2299,
"percent_delta": 0.9195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4799,
"delta": 0.2299,
"percent_delta": 0.9195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 0.0,
"delta": -0.225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.96,
"after": 4.0,
"delta": 0.04,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2753,
"delta": 0.0183,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.0,
"delta": 0.98,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.315,
"delta": -0.003,
"percent_delta": -0.0094,
"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.52,
"after": 3.0,
"delta": 2.48,
"percent_delta": 4.7692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4799,
"delta": 0.0189,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.52,
"after": 3.0,
"delta": 2.48,
"percent_delta": 4.7692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 3.960 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.270 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.539 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.461 | - |
| predicted_SO | 0.730 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.251 | 0.026 |
| predicted_3B | 0.028 | -0.006 |
| predicted_AB | 3.949 | -0.011 |
| predicted_AVG | 0.271 | 0.014 |
| predicted_BB | 0.228 | -0.042 |
| predicted_H | 1.071 | 0.051 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.163 | 0.013 |
| predicted_OBP | 0.320 | 0.002 |
| predicted_R | 0.563 | 0.024 |
| predicted_RBI | 0.538 | 0.018 |
| predicted_SLG | 0.482 | 0.021 |
| predicted_SO | 0.745 | 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.251 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.949 | 0.000 |
| predicted_AVG | 0.275 | 0.004 |
| predicted_BB | 0.229 | 0.001 |
| predicted_H | 1.087 | 0.016 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.167 | 0.004 |
| predicted_OBP | 0.315 | -0.005 |
| predicted_R | 0.576 | 0.013 |
| predicted_RBI | 0.550 | 0.013 |
| predicted_SLG | 0.480 | -0.002 |
| predicted_SO | 0.741 | -0.004 |
AB rounded to 4 (raw=3.96), rates preserved: AVG=0.275 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.251 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 4.000 | 0.051 |
| predicted_AVG | 0.250 | -0.025 |
| predicted_BB | 0.000 | -0.229 |
| predicted_H | 1.000 | -0.087 |
| predicted_HR | 0.000 | -0.167 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 1.000 | 0.424 |
| predicted_RBI | 1.000 | 0.450 |
| predicted_SLG | 0.250 | -0.230 |
| predicted_SO | 1.000 | 0.259 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 21.000 | 8.000 | 2.000 | 0.000 | 2.000 | 4.000 | 4.000 | 0.000 | 4.000 | 0.3810 | 0.3810 | 0.7619 | 0.3810 | 0.0952 | 0.1905 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 4.000 | 0.000 | 2.000 | 6.000 | 6.000 | 0.000 | 8.000 | 0.3158 | 0.3158 | 0.5789 | 0.3158 | 0.0526 | 0.1579 | 0.0000 | 0.2105 |
| season | 0.60 | 89 | - | 348.000 | 89.000 | 20.000 | 3.000 | 10.000 | 43.000 | 48.000 | 24.000 | 65.000 | 0.2557 | 0.3079 | 0.4167 | 0.2557 | 0.0287 | 0.1236 | 0.0690 | 0.1868 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2860 |
| predicted_3B | 0.0200 |
| predicted_AB | 3.9350 |
| predicted_AVG | 0.2895 |
| predicted_BB | 0.1710 |
| predicted_H | 1.1390 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.3228 |
| predicted_R | 0.5940 |
| predicted_RBI | 0.5610 |
| predicted_SLG | 0.5102 |
| predicted_SO | 0.7660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2250 | 0.2860 | 0.2511 | model_form_blend |
| predicted_3B | 0.0340 | 0.0200 | 0.0280 | model_form_blend |
| predicted_AB | 3.9600 | 3.9350 | 3.9493 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2895 | 0.2709 | model_form_blend |
| predicted_BB | 0.2700 | 0.1710 | 0.2276 | model_form_blend |
| predicted_H | 1.0200 | 1.1390 | 1.0710 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1500 | 0.1810 | 0.1633 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3228 | 0.3201 | model_form_blend |
| predicted_R | 0.5390 | 0.5940 | 0.5626 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5610 | 0.5376 | model_form_blend |
| predicted_SLG | 0.4610 | 0.5102 | 0.4821 | model_form_blend |
| predicted_SO | 0.7300 | 0.7660 | 0.7454 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 279 |
| Season rows before report date | 279 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.256 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 695734 |
| playerID | 695734 |
| playerName | Daylen Lile |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.317 |
| sl_xba | 0.259 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 35.3 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 55.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.147 | 0.000 | 0.000 | Hitting_2B | 0.098 | 2.000 | -0.098 | -2.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.440 | 2.000 | 3.000 | Hitting_AB | 3.573 | 3.000 | -1.573 | -1.000 |
| predicted_AVG | 0.239 | 0.500 | 0.333 | Hitting_AVG | 0.231 | 0.667 | 0.269 | -0.167 |
| predicted_BB | 0.187 | 1.000 | 0.000 | Hitting_BB | 0.200 | 2.000 | 0.800 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 0.827 | 2.000 | 0.173 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.277 | 0.667 | 0.333 | Hitting_OBP | 0.284 | 0.800 | 0.383 | -0.133 |
| predicted_R | 0.440 | 1.000 | 0.000 | Hitting_R | 0.511 | 1.000 | 0.489 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.431 | 1.000 | -0.431 | -1.000 |
| predicted_SLG | 0.367 | 0.500 | 0.333 | Hitting_SLG | 0.357 | 1.333 | 0.143 | -0.833 |
| predicted_SO | 0.720 | 0.000 | 1.000 | Hitting_SO | 0.644 | 1.000 | -0.644 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.1870 -> 1.0000 (boost 0.8130, better) |
| Biggest Deboost | predicted_AB: 3.4400 -> 2.0000 (deboost -1.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.4400 -> 3.3503 (deboost -0.0897, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2725 -> 0.2612 (deboost -0.0113, 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.7174 -> 1.0000 (boost 0.2826, better) | predicted_RBI: 0.3724 -> 0.0000 (deboost -0.3724, worse) | AB rounded to 3 (raw=3.44), rates preserved: AVG=0.209 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4117 -> 0.0000 (deboost -0.4117, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2141 -> 0.3330 (boost 0.1189, better) | predicted_SLG: 0.3501 -> 0.3330 (deboost -0.0171, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3501 (boost 0.0171, better) | predicted_AVG: 0.3330 -> 0.2141 (deboost -0.1189, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696285",
"player_name": "Jacob Young",
"position": "CF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.027,
"predicted_AB": 3.44,
"predicted_AVG": 0.239,
"predicted_BB": 0.187,
"predicted_H": 0.74,
"predicted_HR": 0.08,
"predicted_OBP": 0.277,
"predicted_R": 0.44,
"predicted_RBI": 0.37,
"predicted_SLG": 0.367,
"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.1858,
"predicted_3B": 0.0219,
"predicted_AB": 3.3503,
"predicted_AVG": 0.2246,
"predicted_BB": 0.2123,
"predicted_H": 0.7067,
"predicted_HBP": 0.023,
"predicted_HR": 0.0737,
"predicted_OBP": 0.2725,
"predicted_R": 0.4021,
"predicted_RBI": 0.3637,
"predicted_SLG": 0.3594,
"predicted_SO": 0.7625
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1858,
"delta": 0.0388,
"percent_delta": 0.2639,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0219,
"delta": -0.0051,
"percent_delta": -0.1889,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 3.3503,
"delta": -0.0897,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2246,
"delta": -0.0144,
"percent_delta": -0.0603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.187,
"after": 0.2123,
"delta": 0.0253,
"percent_delta": 0.1353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7067,
"delta": -0.0333,
"percent_delta": -0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0737,
"delta": -0.0063,
"percent_delta": -0.0788,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2725,
"delta": -0.0045,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.4021,
"delta": -0.0379,
"percent_delta": -0.0861,
"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.367,
"after": 0.3594,
"delta": -0.0076,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 0.7625,
"delta": 0.0425,
"percent_delta": 0.059,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.44,
"after": 3.3503,
"delta": -0.0897,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1858,
"predicted_3B": 0.0219,
"predicted_AB": 3.3503,
"predicted_AVG": 0.2141,
"predicted_BB": 0.2134,
"predicted_H": 0.7174,
"predicted_HBP": 0.023,
"predicted_HR": 0.0753,
"predicted_OBP": 0.2612,
"predicted_R": 0.4117,
"predicted_RBI": 0.3724,
"predicted_SLG": 0.3501,
"predicted_SO": 0.7585
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1858,
"after": 0.1858,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0219,
"after": 0.0219,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3503,
"after": 3.3503,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2246,
"after": 0.2141,
"delta": -0.0105,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2123,
"after": 0.2134,
"delta": 0.0011,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7067,
"after": 0.7174,
"delta": 0.0107,
"percent_delta": 0.0151,
"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.0737,
"after": 0.0753,
"delta": 0.0016,
"percent_delta": 0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2725,
"after": 0.2612,
"delta": -0.0113,
"percent_delta": -0.0415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4021,
"after": 0.4117,
"delta": 0.0096,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3637,
"after": 0.3724,
"delta": 0.0087,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3594,
"after": 0.3501,
"delta": -0.0093,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7625,
"after": 0.7585,
"delta": -0.004,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2725,
"after": 0.2612,
"delta": -0.0113,
"percent_delta": -0.0415,
"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.209 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.1858,
"after": 0.0,
"delta": -0.1858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0219,
"after": 0.0,
"delta": -0.0219,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3503,
"after": 3.0,
"delta": -0.3503,
"percent_delta": -0.1046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2134,
"after": 0.0,
"delta": -0.2134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7174,
"after": 1.0,
"delta": 0.2826,
"percent_delta": 0.3939,
"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.0753,
"after": 0.0,
"delta": -0.0753,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3724,
"after": 0.0,
"delta": -0.3724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7585,
"after": 1.0,
"delta": 0.2415,
"percent_delta": 0.3184,
"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.7174,
"after": 1.0,
"delta": 0.2826,
"percent_delta": 0.3939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3724,
"after": 0.0,
"delta": -0.3724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4117,
"after": 0.0,
"delta": -0.4117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4117,
"after": 0.0,
"delta": -0.4117,
"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.2141,
"after": 0.333,
"delta": 0.1189,
"percent_delta": 0.5553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2612,
"after": 0.333,
"delta": 0.0718,
"percent_delta": 0.2749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3501,
"after": 0.333,
"delta": -0.0171,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2141,
"after": 0.333,
"delta": 0.1189,
"percent_delta": 0.5553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3501,
"after": 0.333,
"delta": -0.0171,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2141,
"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.2612,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3501,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2141,
"delta": -0.1189,
"percent_delta": -0.3569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2612,
"delta": -0.0718,
"percent_delta": -0.2156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3501,
"delta": 0.0171,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3501,
"delta": 0.0171,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2141,
"delta": -0.1189,
"percent_delta": -0.3569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 2.0,
"delta": -1.44,
"percent_delta": -0.4186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2141,
"delta": -0.0249,
"percent_delta": -0.1042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.187,
"after": 1.0,
"delta": 0.813,
"percent_delta": 4.3476,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2612,
"delta": -0.0158,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3501,
"delta": -0.0169,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.187,
"after": 1.0,
"delta": 0.813,
"percent_delta": 4.3476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.44,
"after": 2.0,
"delta": -1.44,
"percent_delta": -0.4186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.440 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.187 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.440 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.367 | - |
| 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.186 | 0.039 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 3.350 | -0.090 |
| predicted_AVG | 0.225 | -0.014 |
| predicted_BB | 0.212 | 0.025 |
| predicted_H | 0.707 | -0.033 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.074 | -0.006 |
| predicted_OBP | 0.273 | -0.005 |
| predicted_R | 0.402 | -0.038 |
| predicted_RBI | 0.364 | -0.006 |
| predicted_SLG | 0.359 | -0.008 |
| predicted_SO | 0.762 | 0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.350 | 0.000 |
| predicted_AVG | 0.214 | -0.010 |
| predicted_BB | 0.213 | 0.001 |
| predicted_H | 0.717 | 0.011 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.075 | 0.002 |
| predicted_OBP | 0.261 | -0.011 |
| predicted_R | 0.412 | 0.010 |
| predicted_RBI | 0.372 | 0.009 |
| predicted_SLG | 0.350 | -0.009 |
| predicted_SO | 0.758 | -0.004 |
AB rounded to 3 (raw=3.44), rates preserved: AVG=0.209 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.186 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.350 |
| predicted_AVG | 0.333 | 0.119 |
| predicted_BB | 0.000 | -0.213 |
| predicted_H | 1.000 | 0.283 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.333 | 0.072 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 0.000 | -0.372 |
| predicted_SLG | 0.333 | -0.017 |
| 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 | 2.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 5.000 | 0.1538 | 0.2667 | 0.3077 | 0.1538 | 0.0000 | 0.0769 | 0.1538 | 0.3846 |
| last_10 | 0.20 | 10 | - | 29.000 | 5.000 | 3.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 8.000 | 0.1724 | 0.2258 | 0.2759 | 0.1724 | 0.0000 | 0.1035 | 0.0690 | 0.2759 |
| season | 0.60 | 75 | - | 258.000 | 58.000 | 11.000 | 2.000 | 8.000 | 31.000 | 33.000 | 14.000 | 54.000 | 0.2248 | 0.2727 | 0.3760 | 0.2248 | 0.0310 | 0.1202 | 0.0543 | 0.2093 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2390 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.2270 |
| predicted_AVG | 0.2048 |
| predicted_BB | 0.2470 |
| predicted_H | 0.6610 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.2664 |
| predicted_R | 0.3500 |
| predicted_RBI | 0.3550 |
| predicted_SLG | 0.3489 |
| predicted_SO | 0.8210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.2390 | 0.1858 | model_form_blend |
| predicted_3B | 0.0270 | 0.0150 | 0.0219 | model_form_blend |
| predicted_AB | 3.4400 | 3.2270 | 3.3503 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2048 | 0.2246 | model_form_blend |
| predicted_BB | 0.1870 | 0.2470 | 0.2123 | model_form_blend |
| predicted_H | 0.7400 | 0.6610 | 0.7067 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.0800 | 0.0650 | 0.0737 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2664 | 0.2725 | model_form_blend |
| predicted_R | 0.4400 | 0.3500 | 0.4021 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3550 | 0.3637 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3489 | 0.3594 | model_form_blend |
| predicted_SO | 0.7200 | 0.8210 | 0.7625 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260701_WAS@BOS |
| game_type | full |
| mlbID | 696285 |
| playerID | 696285 |
| playerName | Jacob Young |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.286 |
| sl_xwoba | 0.299 |
| sl_xba | 0.252 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 36.1 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 20.3 |
| 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.051 | 0.000 | 0.000 | Hitting_2B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.218 | 3.000 | 3.000 | Hitting_AB | 3.308 | 2.000 | -0.308 | 1.000 |
| predicted_AVG | 0.247 | 0.333 | 0.333 | Hitting_AVG | 0.208 | 0.000 | 0.126 | 0.333 |
| predicted_BB | 0.410 | 0.000 | 0.000 | Hitting_BB | 0.460 | 1.000 | -0.460 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.688 | 0.000 | 0.312 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_OBP | 0.321 | 0.333 | 0.333 | Hitting_OBP | 0.307 | 0.333 | 0.027 | 0.000 |
| predicted_R | 0.423 | 0.000 | 0.000 | Hitting_R | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.446 | 0.000 | -0.446 | 0.000 |
| predicted_SLG | 0.331 | 0.333 | 0.333 | Hitting_SLG | 0.242 | 0.000 | 0.092 | 0.333 |
| predicted_SO | 0.885 | 2.000 | 1.000 | Hitting_SO | 0.879 | 0.000 | 1.121 | 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.8850 -> 2.0000 (boost 1.1150, worse) |
| Biggest Deboost | predicted_R: 0.4230 -> 0.0000 (deboost -0.4230, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.8850 -> 0.9433 (boost 0.0583, worse) | predicted_AVG: 0.2470 -> 0.2366 (deboost -0.0104, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2366 -> 0.2175 (deboost -0.0191, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6995 -> 1.0000 (boost 0.3005, better) | predicted_BB: 0.4550 -> 0.0000 (deboost -0.4550, worse) | AB rounded to 3 (raw=3.22), rates preserved: AVG=0.217 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4746 -> 0.0000 (deboost -0.4746, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2175 -> 0.3330 (boost 0.1155, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2175 (deboost -0.1155, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "2B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.051,
"predicted_3B": 0.038,
"predicted_AB": 3.218,
"predicted_AVG": 0.247,
"predicted_BB": 0.41,
"predicted_H": 0.67,
"predicted_HR": 0.07,
"predicted_OBP": 0.321,
"predicted_R": 0.423,
"predicted_RBI": 0.32,
"predicted_SLG": 0.331,
"predicted_SO": 0.885
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0472,
"predicted_3B": 0.0312,
"predicted_AB": 3.2159,
"predicted_AVG": 0.2366,
"predicted_BB": 0.4526,
"predicted_H": 0.689,
"predicted_HBP": 0.01,
"predicted_HR": 0.0721,
"predicted_OBP": 0.3247,
"predicted_R": 0.4635,
"predicted_RBI": 0.3318,
"predicted_SLG": 0.3262,
"predicted_SO": 0.9433
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.051,
"after": 0.0472,
"delta": -0.0038,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0312,
"delta": -0.0068,
"percent_delta": -0.1789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.218,
"after": 3.2159,
"delta": -0.0021,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.41,
"after": 0.4526,
"delta": 0.0426,
"percent_delta": 0.1039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.689,
"delta": 0.019,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0721,
"delta": 0.0021,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3247,
"delta": 0.0037,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.423,
"after": 0.4635,
"delta": 0.0405,
"percent_delta": 0.0957,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3318,
"delta": 0.0118,
"percent_delta": 0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.3262,
"delta": -0.0048,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 0.9433,
"delta": 0.0583,
"percent_delta": 0.0659,
"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.885,
"after": 0.9433,
"delta": 0.0583,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2366,
"delta": -0.0104,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0472,
"predicted_3B": 0.0312,
"predicted_AB": 3.2159,
"predicted_AVG": 0.2175,
"predicted_BB": 0.455,
"predicted_H": 0.6995,
"predicted_HBP": 0.01,
"predicted_HR": 0.0737,
"predicted_OBP": 0.3145,
"predicted_R": 0.4746,
"predicted_RBI": 0.3397,
"predicted_SLG": 0.3203,
"predicted_SO": 0.9383
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0472,
"after": 0.0472,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0312,
"after": 0.0312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2159,
"after": 3.2159,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2366,
"after": 0.2175,
"delta": -0.0191,
"percent_delta": -0.0807,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4526,
"after": 0.455,
"delta": 0.0024,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.689,
"after": 0.6995,
"delta": 0.0105,
"percent_delta": 0.0152,
"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.0721,
"after": 0.0737,
"delta": 0.0016,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3247,
"after": 0.3145,
"delta": -0.0102,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4635,
"after": 0.4746,
"delta": 0.0111,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3318,
"after": 0.3397,
"delta": 0.0079,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3262,
"after": 0.3203,
"delta": -0.0059,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9433,
"after": 0.9383,
"delta": -0.005,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2366,
"after": 0.2175,
"delta": -0.0191,
"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.22), rates preserved: AVG=0.217 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.0472,
"after": 0.0,
"delta": -0.0472,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0312,
"after": 0.0,
"delta": -0.0312,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2159,
"after": 3.0,
"delta": -0.2159,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6995,
"after": 1.0,
"delta": 0.3005,
"percent_delta": 0.4296,
"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.0737,
"after": 0.0,
"delta": -0.0737,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3397,
"after": 0.0,
"delta": -0.3397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9383,
"after": 1.0,
"delta": 0.0617,
"percent_delta": 0.0658,
"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.6995,
"after": 1.0,
"delta": 0.3005,
"percent_delta": 0.4296,
"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
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4746,
"after": 0.0,
"delta": -0.4746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4746,
"after": 0.0,
"delta": -0.4746,
"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.2175,
"after": 0.333,
"delta": 0.1155,
"percent_delta": 0.531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3145,
"after": 0.333,
"delta": 0.0185,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3203,
"after": 0.333,
"delta": 0.0127,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2175,
"after": 0.333,
"delta": 0.1155,
"percent_delta": 0.531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2175,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3145,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3203,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2175,
"delta": -0.1155,
"percent_delta": -0.3468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3145,
"delta": -0.0185,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3203,
"delta": -0.0127,
"percent_delta": -0.038,
"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.2175,
"delta": -0.1155,
"percent_delta": -0.3468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"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_AVG",
"before": 0.247,
"after": 0.2175,
"delta": -0.0295,
"percent_delta": -0.1194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3145,
"delta": -0.0065,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.3203,
"delta": -0.0107,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 2.0,
"delta": 1.115,
"percent_delta": 1.2599,
"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.885,
"after": 2.0,
"delta": 1.115,
"percent_delta": 1.2599,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.051 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 3.218 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.410 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.423 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.331 | - |
| predicted_SO | 0.885 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.047 | -0.004 |
| predicted_3B | 0.031 | -0.007 |
| predicted_AB | 3.216 | -0.002 |
| predicted_AVG | 0.237 | -0.010 |
| predicted_BB | 0.453 | 0.043 |
| predicted_H | 0.689 | 0.019 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.072 | 0.002 |
| predicted_OBP | 0.325 | 0.004 |
| predicted_R | 0.464 | 0.041 |
| predicted_RBI | 0.332 | 0.012 |
| predicted_SLG | 0.326 | -0.005 |
| predicted_SO | 0.943 | 0.058 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.047 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 3.216 | 0.000 |
| predicted_AVG | 0.217 | -0.019 |
| predicted_BB | 0.455 | 0.002 |
| predicted_H | 0.700 | 0.011 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.074 | 0.002 |
| predicted_OBP | 0.315 | -0.010 |
| predicted_R | 0.475 | 0.011 |
| predicted_RBI | 0.340 | 0.008 |
| predicted_SLG | 0.320 | -0.006 |
| predicted_SO | 0.938 | -0.005 |
AB rounded to 3 (raw=3.22), rates preserved: AVG=0.217 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.047 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 3.000 | -0.216 |
| predicted_AVG | 0.333 | 0.116 |
| predicted_BB | 0.000 | -0.455 |
| predicted_H | 1.000 | 0.300 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.333 | 0.019 |
| predicted_R | 0.000 | -0.475 |
| predicted_RBI | 0.000 | -0.340 |
| predicted_SLG | 0.333 | 0.013 |
| predicted_SO | 1.000 | 0.062 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 5.000 | 0.2000 | 0.3684 | 0.4000 | 0.2000 | 0.0667 | 0.0667 | 0.2667 | 0.3333 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 6.000 | 15.000 | 0.1935 | 0.3243 | 0.2903 | 0.1935 | 0.0323 | 0.1290 | 0.1935 | 0.4839 |
| season | 0.60 | 78 | - | 251.000 | 59.000 | 4.000 | 3.000 | 1.000 | 28.000 | 33.000 | 32.000 | 69.000 | 0.2351 | 0.3228 | 0.2869 | 0.2351 | 0.0040 | 0.1115 | 0.1275 | 0.2749 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0420 |
| predicted_3B | 0.0220 |
| predicted_AB | 3.2130 |
| predicted_AVG | 0.2224 |
| predicted_BB | 0.5110 |
| predicted_H | 0.7150 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.3297 |
| predicted_R | 0.5190 |
| predicted_RBI | 0.3480 |
| predicted_SLG | 0.3196 |
| predicted_SO | 1.0230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0510 | 0.0420 | 0.0472 | model_form_blend |
| predicted_3B | 0.0380 | 0.0220 | 0.0312 | model_form_blend |
| predicted_AB | 3.2180 | 3.2130 | 3.2159 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2224 | 0.2366 | model_form_blend |
| predicted_BB | 0.4100 | 0.5110 | 0.4526 | model_form_blend |
| predicted_H | 0.6700 | 0.7150 | 0.6890 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0700 | 0.0750 | 0.0721 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3297 | 0.3247 | model_form_blend |
| predicted_R | 0.4230 | 0.5190 | 0.4635 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3480 | 0.3318 | model_form_blend |
| predicted_SLG | 0.3310 | 0.3196 | 0.3262 | model_form_blend |
| predicted_SO | 0.8850 | 1.0230 | 0.9433 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.235 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 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 | 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 | 20260704_PIT@WAS |
| game_type | full |
| mlbID | 683083 |
| playerID | 683083 |
| playerName | Nasim Nuñez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-04 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.282 |
| sl_xwoba | 0.272 |
| sl_xba | 0.22 |
| sl_xslg | 0.272 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 0.5 |
| sl_hard_hit_percent | 20.6 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 23.1 |
| 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 | 0.944 | 0.000 | 1.056 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.833 | 6.000 | 0.167 | -3.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.111 | 9.000 | 0.889 | -3.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.517 | 7.000 | -0.317 | -2.800 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.611 | 3.000 | 1.389 | 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.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "571945",
"player_name": "Miles Mikolas",
"position": "Starter",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.000 | 11.000 | 29.000 | 1.000 | 11.000 | 4.000 | 3.5357 | 1.0714 | 0.3929 | 1.0357 | 0.0357 | 0.3929 | 0.1429 |
| last_10 | 0.35 | 10 | 51.200 | 24.000 | 53.000 | 6.000 | 25.000 | 9.000 | 4.1806 | 1.1419 | 0.4645 | 1.0258 | 0.1161 | 0.4839 | 0.1742 |
| season | 0.20 | 18 | 84.100 | 51.000 | 92.000 | 17.000 | 47.000 | 18.000 | 5.4427 | 1.2925 | 0.6047 | 1.0909 | 0.2016 | 0.5573 | 0.2134 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7990 |
| predicted_ER | 2.4440 |
| predicted_ERA | 4.2284 |
| predicted_H | 5.3440 |
| predicted_HR | 0.8520 |
| predicted_IP | 5.1000 |
| predicted_SO | 2.9420 |
| predicted_WHIP | 1.1809 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.7990 | 1.3297 | model_form_blend |
| predicted_ER | 3.0000 | 2.4440 | 2.6897 | model_form_blend |
| predicted_ERA | - | 4.2284 | 4.2284 | form_only |
| predicted_H | 6.0000 | 5.3440 | 5.6339 | model_form_blend |
| predicted_HR | 1.0000 | 0.8520 | 0.9174 | model_form_blend |
| predicted_IP | 4.2000 | 5.1000 | 5.0000 | model_form_blend |
| predicted_SO | 4.0000 | 2.9420 | 3.4095 | model_form_blend |
| predicted_WHIP | - | 1.1809 | 1.1809 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 6 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 4 |
| HR | 1 |
| BF | 22 |
| Pitches | 85 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 30 |
| Pitching_ER | 6 |
| Pitching_ERA | 5.44 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 9 |
| Pitching_H | 9 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 97 |
| Pitching_R | 6 |
| Pitching_SO | 3 |
| Pitching_Strikes | 68 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260629_WAS@BOS |
| game_type | full |
| mlbID | 571945 |
| playerID | 571945 |
| playerName | Miles Mikolas |
| pos | P |
| started | True |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-29 |
| sl_k_percent | 13.2 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.337 |
| sl_xwoba | 0.337 |
| sl_sweet_spot_percent | 33.4 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 40.3 |
| sl_whiff_percent | 14.7 |
| sl_swing_percent | 48.1 |
| sl_avg_best_speed | 78.573681319 |
| sl_avg_hyper_speed | 94.765708293 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.778 | 1.000 | -0.778 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.926 | 5.000 | -0.926 | -5.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.852 | 4.000 | -1.852 | -4.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.967 | 1.100 | -0.867 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.926 | 0.000 | 0.074 | 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": "695418",
"player_name": "Brad Lord",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 10.000 | 12.000 | 15.000 | 7.000 | 13.000 | 3.000 | 10.8000 | 2.2000 | 1.2000 | 1.5000 | 0.7000 | 1.3000 | 0.3000 |
| last_10 | 0.35 | 10 | 21.000 | 14.000 | 20.000 | 14.000 | 21.000 | 3.000 | 6.0000 | 1.6190 | 0.6667 | 0.9524 | 0.6667 | 1.0000 | 0.1429 |
| season | 0.20 | 27 | 58.000 | 25.000 | 50.000 | 21.000 | 52.000 | 7.000 | 3.8793 | 1.2241 | 0.4310 | 0.8621 | 0.3621 | 0.8965 | 0.1207 |
| Metric | Value |
|---|---|
| predicted_BB | 0.9720 |
| predicted_ER | 1.3520 |
| predicted_ERA | 6.7665 |
| predicted_H | 2.0080 |
| predicted_HR | 0.3430 |
| predicted_IP | 1.2000 |
| predicted_SO | 1.9160 |
| predicted_WHIP | 1.6577 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.9720 | 0.5074 | model_form_blend |
| predicted_ER | 0.0000 | 1.3520 | 0.7057 | model_form_blend |
| predicted_ERA | - | 6.7665 | 6.7665 | form_only |
| predicted_H | 0.0000 | 2.0080 | 1.0481 | model_form_blend |
| predicted_HR | 0.0000 | 0.3430 | 0.1790 | model_form_blend |
| predicted_IP | 1.1000 | 1.2000 | 1.2000 | model_form_blend |
| predicted_SO | 2.0000 | 1.9160 | 1.9562 | model_form_blend |
| predicted_WHIP | - | 1.6577 | 1.6577 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 5 |
| Pitching_ERA | 3.88 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 50 |
| Pitching_R | 5 |
| Pitching_SO | 0 |
| Pitching_Strikes | 33 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 695418 |
| playerID | 695418 |
| playerName | Brad Lord |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.291 |
| sl_xwoba | 0.316 |
| sl_sweet_spot_percent | 24.9 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 40.8 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 75.467831807 |
| sl_avg_hyper_speed | 94.368484182 |
| 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.357 | 0.000 | -0.357 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.714 | 0.000 | -0.714 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.857 | 1.000 | 0.243 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.786 | 2.000 | -0.786 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687377",
"player_name": "Orlando Ribalta",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 2.000 | 5.000 | 1.000 | 5.000 | 0.000 | 4.5000 | 1.5000 | 0.5000 | 1.2500 | 0.2500 | 1.2500 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 6.000 | 9.000 | 3.000 | 9.000 | 1.000 | 6.7500 | 1.5000 | 0.7500 | 1.1250 | 0.3750 | 1.1250 | 0.1250 |
| season | 0.20 | 28 | 26.100 | 10.000 | 20.000 | 10.000 | 22.000 | 2.000 | 3.4177 | 1.1392 | 0.3797 | 0.7595 | 0.3797 | 0.8354 | 0.0760 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2920 |
| predicted_ER | 0.4620 |
| predicted_ERA | 4.8096 |
| predicted_H | 0.8990 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8990 |
| predicted_WHIP | 1.3785 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2920 | 0.1295 | model_form_blend |
| predicted_ER | 0.0000 | 0.4620 | 0.2048 | model_form_blend |
| predicted_ERA | - | 4.8096 | 4.8096 | form_only |
| predicted_H | 0.0000 | 0.8990 | 0.3986 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0395 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8990 | 0.3986 | model_form_blend |
| predicted_WHIP | - | 1.3785 | 1.3785 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 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.42 |
| 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 | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 687377 |
| playerID | 687377 |
| playerName | Orlando Ribalta |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.276 |
| sl_xwoba | 0.298 |
| sl_sweet_spot_percent | 24.3 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 35.1 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 51.4 |
| sl_avg_best_speed | 72.19958027 |
| sl_avg_hyper_speed | 93.003533014 |
| 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 | 1.000 | -0.588 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.765 | 1.000 | 0.235 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.865 | 0.200 | 0.135 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.647 | 0.000 | -0.647 | 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": "676571",
"player_name": "PJ Poulin",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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 | 1.000 | 2.000 | 2.000 | 3.000 | 0.000 | 1.5882 | 0.7059 | 0.1765 | 0.3529 | 0.3529 | 0.5294 | 0.0000 |
| last_10 | 0.35 | 10 | 11.100 | 2.000 | 6.000 | 5.000 | 6.000 | 0.000 | 1.5882 | 0.9706 | 0.1765 | 0.5294 | 0.4412 | 0.5294 | 0.0000 |
| season | 0.20 | 34 | 35.000 | 11.000 | 26.000 | 20.000 | 22.000 | 4.000 | 2.8286 | 1.3143 | 0.3143 | 0.7429 | 0.5714 | 0.6286 | 0.1143 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3980 |
| predicted_ER | 0.3300 |
| predicted_ERA | 2.9669 |
| predicted_H | 0.6920 |
| predicted_HR | 0.0760 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7190 |
| predicted_WHIP | 1.0905 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3980 | 0.1883 | model_form_blend |
| predicted_ER | 0.0000 | 0.3300 | 0.1561 | model_form_blend |
| predicted_ERA | - | 2.9669 | 2.9669 | form_only |
| predicted_H | 1.0000 | 0.6920 | 0.8543 | model_form_blend |
| predicted_HR | 0.0000 | 0.0760 | 0.0360 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7190 | 0.3402 | model_form_blend |
| predicted_WHIP | - | 1.0905 | 1.0905 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.83 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260705_PIT@WAS |
| game_type | full |
| mlbID | 676571 |
| playerID | 676571 |
| playerName | PJ Poulin |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-05 |
| sl_k_percent | 15.1 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.306 |
| sl_xwoba | 0.358 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 45.6 |
| sl_whiff_percent | 16.3 |
| sl_swing_percent | 40.7 |
| sl_avg_best_speed | 81.559559608 |
| sl_avg_hyper_speed | 95.339667228 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.692 | 0.000 | -0.692 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.577 | 0.000 | -0.577 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.888 | 0.100 | -0.688 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.115 | 1.000 | 0.885 | 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": "690925",
"player_name": "Clayton Beeter",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.100 | 0.000 | 2.000 | 2.000 | 4.000 | 0.000 | 0.0000 | 1.2000 | 0.0000 | 0.6000 | 0.6000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 5.000 | 5.000 | 11.000 | 0.000 | 3.1154 | 1.1538 | 0.3462 | 0.5769 | 0.5769 | 1.2692 | 0.0000 |
| season | 0.20 | 26 | 25.200 | 9.000 | 15.000 | 18.000 | 29.000 | 2.000 | 3.1558 | 1.2857 | 0.3507 | 0.5844 | 0.7013 | 1.1299 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3690 |
| predicted_ER | 0.2630 |
| predicted_ERA | 3.1164 |
| predicted_H | 0.5900 |
| predicted_HR | 0.0620 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8220 |
| predicted_WHIP | 1.2634 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3690 | 0.1626 | model_form_blend |
| predicted_ER | 0.0000 | 0.2630 | 0.1159 | model_form_blend |
| predicted_ERA | - | 3.1164 | 3.1164 | form_only |
| predicted_H | 0.0000 | 0.5900 | 0.2600 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0273 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8220 | 1.4809 | model_form_blend |
| predicted_WHIP | - | 1.2634 | 1.2634 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 2 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.16 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 3 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260703_PIT@WAS |
| game_type | full |
| mlbID | 690925 |
| playerID | 690925 |
| playerName | Clayton Beeter |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-07-03 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 16.4 |
| sl_woba | 0.27 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 24.6 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 44.3 |
| sl_avg_best_speed | 79.311388276 |
| sl_avg_hyper_speed | 93.671733448 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIL 4 - 2 STL | MIL | 0.640 | scoring_simulation.final_score | True |
| Simulation draw | MIL 6 - 2 STL | 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 | 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.805 | 3.602 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 2 | 0.6400 | 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 | 6 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4384932738589211,
"base_low_score_probability": 0.4197786998616874,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.018714573997233697,
"confidence": 0.6222909999999999,
"factors": {
"environmental": 0.9496199999999999,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.044582
},
"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": 31,
"near_bucket_sample_size": 31,
"medium_bucket_sample_size": 34,
"wide_bucket_sample_size": 38,
"global_sample_size": 117,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.7419,
"bayesian_hit_rate": 0.6531,
"sample_weight": 0.5378,
"prior_strength": 18.0,
"reliability": 0.6327,
"confidence_cap": 0.78,
"raw_pick_probability": 0.667,
"calibrated_pick_probability": 0.6435,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "STL",
"games": 87,
"wins": 47,
"losses": 40,
"win_pct": 0.5402298850574713,
"runs_scored": 403,
"runs_allowed": 390,
"run_differential": 13,
"run_differential_per_game": 0.14942528735632185,
"available": true
},
"away": {
"team": "MIL",
"games": 88,
"wins": 55,
"losses": 33,
"win_pct": 0.625,
"runs_scored": 449,
"runs_allowed": 322,
"run_differential": 127,
"run_differential_per_game": 1.4431818181818181,
"available": true
},
"run_differential_edge_per_game": -1.2938,
"win_pct_edge": -0.0848,
"quality_edge": -1.4209,
"margin_adjustment": -0.5968,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 5.151,
"home_runs": 3.186,
"home_win_probability": 0.333
}
}{
"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": "STL",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "MIL 4 - 2 STL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "MIL 6 - 2 STL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"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": 2,
"final_margin": 4,
"winner_quality_edge": 1.4209,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "STL",
"games": 87,
"wins": 47,
"losses": 40,
"win_pct": 0.5402298850574713,
"runs_scored": 403,
"runs_allowed": 390,
"run_differential": 13,
"run_differential_per_game": 0.14942528735632185,
"available": true
},
"away": {
"team": "MIL",
"games": 88,
"wins": 55,
"losses": 33,
"win_pct": 0.625,
"runs_scored": 449,
"runs_allowed": 322,
"run_differential": 127,
"run_differential_per_game": 1.4431818181818181,
"available": true
}
}
}{
"applied": false,
"raw_margin": -1.9645,
"final_margin": -1.9645,
"margin_cap": 4.25,
"season_quality_edge": 1.4209,
"reason": "raw target margin within supported range"
}{
"applied": true,
"raw_confidence": 0.643548,
"final_confidence": 0.64,
"confidence_cap": 0.64,
"score_gap": 1.9645,
"calibration_sample_size": 31,
"calibration_empirical_hit_rate": 0.7419,
"calibration_bayesian_hit_rate": 0.6531,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.4209,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "MIL 4 - 2 STL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "MIL 6 - 2 STL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"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": 2,
"final_margin": 4,
"winner_quality_edge": 1.4209,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 6,
"home_runs": 2,
"confidence": 0.64,
"home_win_probability": 0.36,
"away_win_probability": 0.64,
"predicted_score_text": "MIL 6 - 2 STL",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIL",
"original_runs": 4,
"run_delta": 0.1377,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.22484873481021955,
"contact": 0.2917134539103783,
"power": 0.3549324763448638,
"discipline": 0.26174604537460616,
"xwoba": 0.3298484848484849,
"recent_xwoba": 0.3298484848484849,
"barrel": 9.19090909090909,
"ab_hard_contact": 0.03454563079338408,
"ab_bat_speed": 70.48244078137544,
"ab_strikeout_rate": 0.23688743225887135,
"available_players": 8,
"top_players": [
{
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "1B",
"weight": 4.0,
"quality": 0.7200327860803929,
"contact": 0.9139729116936908,
"power": 1.2773938469673805,
"discipline": 0.3225497835497835,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 13.799999999999999,
"ab_hard_contact": 0.7467340822047631,
"ab_bat_speed": 75.74101632395383,
"ab_strikeout_rate": 0.22954545454545452,
"available": 1.0
},
{
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"weight": 3.0,
"quality": 0.5758227416591455,
"contact": 0.6691900149455978,
"power": 1.4379054021700508,
"discipline": -0.5072142857142858,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 16.0,
"ab_hard_contact": 0.6270604243534095,
"ab_bat_speed": 74.59334986772487,
"ab_strikeout_rate": 0.43313492063492065,
"available": 1.0
},
{
"player_id": "666152",
"player_name": "David Hamilton",
"position": "3B",
"weight": 3.0,
"quality": -0.5780866187111547,
"contact": -1.110901320506127,
"power": -1.1257863154287393,
"discipline": 0.20660651629072666,
"xwoba": 0.264,
"recent_xwoba": 0.264,
"barrel": 3.7999999999999994,
"ab_hard_contact": -1.697821546670003,
"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.6198874055994664,
"contact": 0.8814447465620541,
"power": 0.4897611621261172,
"discipline": 0.5400748299319726,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 7.2,
"ab_hard_contact": 0.25236609966520035,
"ab_bat_speed": 72.46361961451247,
"ab_strikeout_rate": 0.12244897959183673,
"available": 1.0
},
{
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"weight": 5.0,
"quality": 0.28730428135776914,
"contact": 0.6479468129525203,
"power": 1.3374116565168557,
"discipline": -0.19294235588972442,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 15.0,
"ab_hard_contact": 0.739090273194262,
"ab_bat_speed": 73.21261779448622,
"ab_strikeout_rate": 0.3078947368421052,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669160",
"player_name": "Dustin May",
"quality": -0.06919338393512459,
"contact": -0.2110755574246425,
"command": -0.08685714285714297,
"movement": 0.6229227642536935,
"xwoba": 0.305,
"whiff": 22.0,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "STL",
"original_runs": 2,
"run_delta": -0.0608,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.1716353147450899,
"contact": 0.3243484523963303,
"power": 0.14241649443719748,
"discipline": 0.1575319858942565,
"xwoba": 0.3292258064516129,
"recent_xwoba": 0.3292258064516129,
"barrel": 7.387096774193548,
"ab_hard_contact": -0.2935195736216413,
"ab_bat_speed": 70.50191426032656,
"ab_strikeout_rate": 0.2119365240903824,
"available_players": 7,
"top_players": [
{
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "RF",
"weight": 4.0,
"quality": 1.0642096132160423,
"contact": 1.1776144275773177,
"power": 1.5613602145063286,
"discipline": -0.3941549953314661,
"xwoba": 0.368,
"recent_xwoba": 0.368,
"barrel": 14.2,
"ab_hard_contact": 1.2150138139360933,
"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.5881144299794512,
"contact": 0.820554504296894,
"power": 0.41007870518222844,
"discipline": 0.5557510115157174,
"xwoba": 0.355,
"recent_xwoba": 0.355,
"barrel": 7.1,
"ab_hard_contact": 0.31776457983504647,
"ab_bat_speed": 70.77633986928105,
"ab_strikeout_rate": 0.1883442265795207,
"available": 1.0
},
{
"player_id": "676369",
"player_name": "Nelson Velázquez",
"position": "LF",
"weight": 3.0,
"quality": 0.0,
"contact": 1.6653428571428575,
"power": 1.6554666666666669,
"discipline": 0.33892857142857125,
"xwoba": 0.418,
"recent_xwoba": 0.418,
"barrel": 11.8,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.221,
"available": 0.0
},
{
"player_id": "665877",
"player_name": "José Fermín",
"position": "3B",
"weight": 3.0,
"quality": -0.1962664968515634,
"contact": -0.5043419589773044,
"power": -1.0521710699551208,
"discipline": 0.4666190476190476,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 1.7,
"ab_hard_contact": -1.2632309229119456,
"ab_bat_speed": 65.39455555555556,
"ab_strikeout_rate": 0.19333333333333333,
"available": 1.0
},
{
"player_id": "691026",
"player_name": "Masyn Winn",
"position": "SS",
"weight": 4.0,
"quality": -0.295545716262626,
"contact": -0.14306832035296582,
"power": -0.7471215278839608,
"discipline": 0.21872574955908272,
"xwoba": 0.304,
"recent_xwoba": 0.304,
"barrel": 3.4,
"ab_hard_contact": -0.7043353195839804,
"ab_bat_speed": 68.19941049382716,
"ab_strikeout_rate": 0.19901234567901235,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "675660",
"player_name": "Shane Drohan",
"quality": 0.13903532001031976,
"contact": 0.2925044293890877,
"command": 0.2967142857142856,
"movement": 0.5311360882390792,
"xwoba": 0.285,
"whiff": 28.4,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"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": -1.4209,
"recent_form_edge_home_minus_away": 0.092,
"pitcher_matchup_edge_home_minus_away": -0.0584,
"composite_home_edge": -1.247,
"existing_home_win_probability": 0.3565,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 1.247
},
"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": "MIL 4 - 2 STL",
"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": 2,
"score_text": "MIL 4 - 2 STL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 2,
"score_text": "MIL 6 - 2 STL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"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": 2,
"final_margin": 4,
"winner_quality_edge": 1.4209,
"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.64,
"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": 1.4209,
"winner_recent_form_edge": -0.092,
"winner_pitcher_matchup_edge": 0.0584,
"winner_simulation_draw_rate": 0.875,
"blowout_draw_rate_margin_4_plus": 0.25,
"high_total_draw_rate_11_plus": 0.25,
"low_total_draw_rate_6_or_less": 0.25,
"total_runs_spread": {
"min": 3,
"median": 8,
"max": 11,
"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 MIL | True | 1.0239 | 1.0239 | 1 | 9 | 0 |
| Home STL | True | 1.0245 | 1.0245 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Christian Yelich | 269 | 0.9939 | -0.0812 | neutral | 0.2960 | 0.2190 | 0.3700 | 7.50 | 40.10 | 88.60 | 3.70 | 32.10 | 28.40 | 10.30 | -0.4571 |
| LF | Jackson Chourio | 61 | 1.0277 | 0.3698 | negative_batter_regression | 0.3420 | 0.2540 | 0.4870 | 15 | 47 | 92.30 | 12.40 | 23.10 | 24.40 | 7.60 | -1.0571 |
| 2B | Brice Turang | 13 | 1.0497 | 0.6628 | neutral | 0.3460 | 0.2560 | 0.4400 | 8.10 | 43 | 90.70 | 6.90 | 22 | 25.60 | 13.10 | -0.3143 |
| C | William Contreras | 112 | 1.0592 | 0.7892 | neutral | 0.3460 | 0.2810 | 0.4540 | 7.20 | 44.20 | 90.50 | 11.90 | 19.10 | 13.30 | 8.60 | 0.1714 |
| 1B | Jake Bauers | 98 | 1.0652 | 0.8697 | neutral | 0.3570 | 0.2570 | 0.4700 | 13.80 | 53.40 | 92.60 | 10.50 | 26.80 | 25.80 | 12.40 | -0.4000 |
| CF | Garrett Mitchell | 95 | 1.0628 | 0.8370 | neutral | 0.3580 | 0.2530 | 0.4730 | 16 | 52 | 93.30 | 5.50 | 38.60 | 33.60 | 12.10 | 0.0286 |
| RF | Sal Frelick | 435 | 0.9797 | -0.2701 | neutral | 0.2950 | 0.2550 | 0.3360 | 2.20 | 27.90 | 85.90 | 9.30 | 10.90 | 9 | 8.70 | 0.2000 |
| SS | Cooper Pratt | 229 | 1.0213 | 0.2842 | positive_batter_regression | 0.3480 | 0.2800 | 0.3710 | 5.30 | 27.50 | 88.20 | 6.80 | 25.30 | 18.30 | 13.30 | 2 |
| 3B | David Hamilton | 151 | 0.9560 | -0.5867 | neutral | 0.2640 | 0.2020 | 0.2930 | 3.80 | 26.80 | 86.60 | 11.60 | 21.70 | 22.60 | 9.40 | -0.7143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Jordan Walker | 15 | 1.1006 | 1.3410 | neutral | 0.3680 | 0.2810 | 0.5090 | 14.20 | 51 | 93.90 | 11.90 | 31.10 | 25.50 | 8 | -0.2571 |
| 2B | JJ Wetherholt | 5 | 1.0646 | 0.8620 | neutral | 0.3550 | 0.2660 | 0.4420 | 7.10 | 45 | 90 | 14.10 | 20.10 | 15.60 | 10 | 0.2286 |
| DH | Iván Herrera | 50 | 1.0495 | 0.6596 | neutral | 0.3590 | 0.2600 | 0.4000 | 6.30 | 42.10 | 89.60 | 8.10 | 20.30 | 16.30 | 12.50 | 0.0571 |
| LF | Nelson Velázquez | 266 | 1.0649 | 0.8655 | positive_batter_regression | 0.4180 | 0.3040 | 0.5950 | 11.80 | 67.60 | 94.90 | 14.60 | 32.70 | 21.20 | 11.50 | 1.0571 |
| SS | Masyn Winn | 97 | 0.9905 | -0.1272 | neutral | 0.3040 | 0.2580 | 0.3350 | 3.40 | 33.30 | 87.50 | 12.10 | 21.60 | 19 | 8.50 | 0.1429 |
| 3B | José Fermín | 365 | 0.9796 | -0.2724 | neutral | 0.2830 | 0.2440 | 0.3330 | 1.70 | 30.20 | 85.40 | 17.10 | 14.20 | 14.10 | 7.40 | -0.8286 |
| CF | Nathan Church | 124 | 0.9917 | -0.1101 | neutral | 0.2940 | 0.2400 | 0.3850 | 8.90 | 33.10 | 86 | 11.40 | 23.20 | 21 | 5.60 | -0.5143 |
| 1B | Blaze Jordan | 385 | 0.9959 | -0.0548 | neutral | 0.2860 | 0.2370 | 0.3590 | 7 | 42.10 | 88.20 | 9.70 | 18.60 | 11.80 | 4.40 | 0.4286 |
| C | Pedro Pagés | 405 | 0.9831 | -0.2253 | neutral | 0.2730 | 0.2220 | 0.3550 | 5.60 | 38.30 | 86.70 | 14 | 27.40 | 24.20 | 3.90 | 0.2857 |
{
"home": {
"applied": true,
"offense_factor": 1.0245,
"raw_average_factor": 1.0245,
"team_espn_average_rank": 190.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "691023",
"player_name": "Jordan Walker",
"offense_factor": 1.1006,
"quality_score": 1.341,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691023",
"espn_id": 4684778,
"player_name": "Jordan Walker",
"team": "STL",
"role": "batter",
"espn_rank": 15,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 15,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 329.0,
"ab_rank": 35,
"r_value": 54.0,
"r_rank": 25,
"h_value": 96.0,
"h_rank": 13,
"avg_value": 0.2917933,
"avg_rank": 18.0,
"2b_value": 18.0,
"2b_rank": 29,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 20.0,
"hr_rank": 11,
"rbi_value": 67.0,
"rbi_rank": 1,
"tb_value": 174.0,
"tb_rank": 521,
"bb_value": 29.0,
"bb_rank": 98,
"so_value": 93.0,
"so_rank": 24,
"sb_value": 11.0,
"sb_rank": 39,
"obp_value": 0.3516483,
"obp_rank": "44",
"slg_value": 0.5288753,
"slg_rank": "12",
"ops_value": 0.8805236,
"ops_rank": 56.0,
"war_value": 3.35,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 25.5,
"bb_percent": 8.0,
"woba": 0.377,
"xwoba": 0.368,
"xba": 0.281,
"xslg": 0.509,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 14.2,
"hard_hit_percent": 51.0,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 11.9,
"whiff_percent": 31.1,
"swing_percent": 51.5
},
"components": {
"expected_quality": 1.6012,
"regression_edge": -0.2571,
"xwoba_edge": 1.8857,
"xba_edge": 1.2,
"xslg_edge": 1.95,
"barrel_edge": 1.6,
"hard_hit_edge": 1.8214,
"exit_velocity_edge": 2.04,
"sweet_spot_edge": 0.45,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"offense_factor": 1.0646,
"quality_score": 0.862,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802139",
"espn_id": 4941056,
"player_name": "JJ Wetherholt",
"team": "STL",
"role": "batter",
"espn_rank": 5,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 5,
"gp_value": 83.0,
"gp_rank": 96,
"ab_value": 327.0,
"ab_rank": 40,
"r_value": 54.0,
"r_rank": 25,
"h_value": 88.0,
"h_rank": 37,
"avg_value": 0.2691131,
"avg_rank": 49.0,
"2b_value": 9.0,
"2b_rank": 196,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 13.0,
"hr_rank": 64,
"rbi_value": 36.0,
"rbi_rank": 109,
"tb_value": 136.0,
"tb_rank": 871,
"bb_value": 38.0,
"bb_rank": 45,
"so_value": 59.0,
"so_rank": 139,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.364116,
"obp_rank": "30",
"slg_value": 0.4159021,
"slg_rank": "94",
"ops_value": 0.7800181,
"ops_rank": 64.0,
"war_value": 4.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 234.0,
"k_percent": 15.6,
"bb_percent": 10.0,
"woba": 0.347,
"xwoba": 0.355,
"xba": 0.266,
"xslg": 0.442,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 45.0,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 14.1,
"whiff_percent": 20.1,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.9651,
"regression_edge": 0.2286,
"xwoba_edge": 1.5143,
"xba_edge": 0.7714,
"xslg_edge": 0.9929,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.9643,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "671056",
"player_name": "Iván Herrera",
"offense_factor": 1.0495,
"quality_score": 0.6596,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671056",
"espn_id": 41889,
"player_name": "Ivan Herrera",
"team": "STL",
"role": "batter",
"espn_rank": 50,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 50,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 317.0,
"ab_rank": 65,
"r_value": 58.0,
"r_rank": 13,
"h_value": 81.0,
"h_rank": 68,
"avg_value": 0.2555205,
"avg_rank": 77.0,
"2b_value": 14.0,
"2b_rank": 92,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 39.0,
"rbi_rank": 92,
"tb_value": 127.0,
"tb_rank": 643,
"bb_value": 49.0,
"bb_rank": 16,
"so_value": 64.0,
"so_rank": 116,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3928571,
"obp_rank": "8",
"slg_value": 0.4006309,
"slg_rank": "103",
"ops_value": 0.793488,
"ops_rank": 95.0,
"war_value": 2.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 234.0,
"k_percent": 16.3,
"bb_percent": 12.5,
"woba": 0.357,
"xwoba": 0.359,
"xba": 0.26,
"xslg": 0.4,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 8.1,
"whiff_percent": 20.3,
"swing_percent": 42.9
},
"components": {
"expected_quality": 0.7577,
"regression_edge": 0.0571,
"xwoba_edge": 1.6286,
"xba_edge": 0.6,
"xslg_edge": 0.3929,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.55,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "676369",
"player_name": "Nelson Velázquez",
"offense_factor": 1.0649,
"quality_score": 0.8655,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676369",
"espn_id": 41047,
"player_name": "Nelson Velazquez",
"team": "STL",
"role": "batter",
"espn_rank": 266,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 266,
"gp_value": 19.0,
"gp_rank": 453,
"ab_value": 44.0,
"ab_rank": 459,
"r_value": 8.0,
"r_rank": 401,
"h_value": 12.0,
"h_rank": 427,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 417,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 9.0,
"rbi_rank": 369,
"tb_value": 23.0,
"tb_rank": 2151,
"bb_value": 6.0,
"bb_rank": 392,
"so_value": 11.0,
"so_rank": 464,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3653846,
"obp_rank": "-",
"slg_value": 0.5227272,
"slg_rank": "-",
"ops_value": 0.8881118,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.2,
"bb_percent": 11.5,
"woba": 0.381,
"xwoba": 0.418,
"xba": 0.304,
"xslg": 0.595,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 67.6,
"exit_velocity_avg": 94.9,
"launch_angle_avg": 14.6,
"whiff_percent": 32.7,
"swing_percent": 49.0
},
"components": {
"expected_quality": 2.0644,
"regression_edge": 1.0571,
"xwoba_edge": 2.5,
"xba_edge": 1.8571,
"xslg_edge": 2.5,
"barrel_edge": 1.0667,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.44,
"sweet_spot_edge": 1.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "691026",
"player_name": "Masyn Winn",
"offense_factor": 0.9905,
"quality_score": -0.1272,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691026",
"espn_id": 4683365,
"player_name": "Masyn Winn",
"team": "STL",
"role": "batter",
"espn_rank": 97,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 97,
"gp_value": 79.0,
"gp_rank": 129,
"ab_value": 292.0,
"ab_rank": 101,
"r_value": 38.0,
"r_rank": 109,
"h_value": 73.0,
"h_rank": 93,
"avg_value": 0.25,
"avg_rank": 92.0,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 37.0,
"rbi_rank": 102,
"tb_value": 100.0,
"tb_rank": 1039,
"bb_value": 28.0,
"bb_rank": 110,
"so_value": 63.0,
"so_rank": 123,
"sb_value": 7.0,
"sb_rank": 77,
"obp_value": 0.3232628,
"obp_rank": "92",
"slg_value": 0.3424657,
"slg_rank": "145",
"ops_value": 0.6657285,
"ops_rank": 53.0,
"war_value": 1.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 196.0,
"k_percent": 19.0,
"bb_percent": 8.5,
"woba": 0.299,
"xwoba": 0.304,
"xba": 0.258,
"xslg": 0.335,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 12.1,
"whiff_percent": 21.6,
"swing_percent": 43.2
},
"components": {
"expected_quality": -0.1892,
"regression_edge": 0.1429,
"xwoba_edge": 0.0571,
"xba_edge": 0.5429,
"xslg_edge": -0.5357,
"barrel_edge": -0.8,
"hard_hit_edge": -0.7071,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "665877",
"player_name": "José Fermín",
"offense_factor": 0.9796,
"quality_score": -0.2724,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665877",
"espn_id": 38851,
"player_name": "Jose Fermin",
"team": "STL",
"role": "batter",
"espn_rank": 365,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 365,
"gp_value": 53.0,
"gp_rank": 275,
"ab_value": 136.0,
"ab_rank": 296,
"r_value": 15.0,
"r_rank": 320,
"h_value": 36.0,
"h_rank": 263,
"avg_value": 0.2647058,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 16.0,
"rbi_rank": 284,
"tb_value": 53.0,
"tb_rank": 1788,
"bb_value": 11.0,
"bb_rank": 302,
"so_value": 21.0,
"so_rank": 390,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.3175675,
"obp_rank": "-",
"slg_value": 0.3897058,
"slg_rank": "-",
"ops_value": 0.7072733,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 68.0,
"k_percent": 14.1,
"bb_percent": 7.4,
"woba": 0.312,
"xwoba": 0.283,
"xba": 0.244,
"xslg": 0.333,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 30.2,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 17.1,
"whiff_percent": 14.2,
"swing_percent": 40.3
},
"components": {
"expected_quality": -0.569,
"regression_edge": -0.8286,
"xwoba_edge": -0.5429,
"xba_edge": 0.1429,
"xslg_edge": -0.5643,
"barrel_edge": -1.1778,
"hard_hit_edge": -1.15,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "701675",
"player_name": "Nathan Church",
"offense_factor": 0.9917,
"quality_score": -0.1101,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701675",
"espn_id": 4843048,
"player_name": "Nathan Church",
"team": "STL",
"role": "batter",
"espn_rank": 124,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 124,
"gp_value": 69.0,
"gp_rank": 184,
"ab_value": 216.0,
"ab_rank": 184,
"r_value": 30.0,
"r_rank": 171,
"h_value": 55.0,
"h_rank": 173,
"avg_value": 0.2546296,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 196,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 8.0,
"hr_rank": 135,
"rbi_value": 28.0,
"rbi_rank": 181,
"tb_value": 90.0,
"tb_rank": 960,
"bb_value": 13.0,
"bb_rank": 266,
"so_value": 49.0,
"so_rank": 193,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3004291,
"obp_rank": "-",
"slg_value": 0.4166666,
"slg_rank": "-",
"ops_value": 0.7170957,
"ops_rank": null,
"war_value": 1.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 21.0,
"bb_percent": 5.6,
"woba": 0.312,
"xwoba": 0.294,
"xba": 0.24,
"xslg": 0.385,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 33.1,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 11.4,
"whiff_percent": 23.2,
"swing_percent": 56.3
},
"components": {
"expected_quality": -0.104,
"regression_edge": -0.5143,
"xwoba_edge": -0.2286,
"xba_edge": 0.0286,
"xslg_edge": 0.1786,
"barrel_edge": 0.4222,
"hard_hit_edge": -0.7357,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "691458",
"player_name": "Blaze Jordan",
"offense_factor": 0.9959,
"quality_score": -0.0548,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691458",
"espn_id": 4722953,
"player_name": "Blaze Jordan",
"team": "STL",
"role": "batter",
"espn_rank": 385,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 385,
"gp_value": 18.0,
"gp_rank": 458,
"ab_value": 61.0,
"ab_rank": 423,
"r_value": 8.0,
"r_rank": 401,
"h_value": 15.0,
"h_rank": 403,
"avg_value": 0.2459016,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 377,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 13.0,
"rbi_rank": 320,
"tb_value": 23.0,
"tb_rank": 2142,
"bb_value": 3.0,
"bb_rank": 444,
"so_value": 8.0,
"so_rank": 490,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2647058,
"obp_rank": "-",
"slg_value": 0.3770491,
"slg_rank": "-",
"ops_value": 0.6417549,
"ops_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 11.8,
"bb_percent": 4.4,
"woba": 0.271,
"xwoba": 0.286,
"xba": 0.237,
"xslg": 0.359,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 9.7,
"whiff_percent": 18.6,
"swing_percent": 53.3
},
"components": {
"expected_quality": -0.2113,
"regression_edge": 0.4286,
"xwoba_edge": -0.4571,
"xba_edge": -0.0571,
"xslg_edge": -0.1929,
"barrel_edge": 0.0,
"hard_hit_edge": 0.55,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -1.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "686780",
"player_name": "Pedro Pagés",
"offense_factor": 0.9831,
"quality_score": -0.2253,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686780",
"espn_id": 42608,
"player_name": "Pedro Pages",
"team": "STL",
"role": "batter",
"espn_rank": 405,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 405,
"gp_value": 49.0,
"gp_rank": 302,
"ab_value": 139.0,
"ab_rank": 293,
"r_value": 12.0,
"r_rank": 350,
"h_value": 30.0,
"h_rank": 300,
"avg_value": 0.2158273,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 273,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 11.0,
"rbi_rank": 339,
"tb_value": 48.0,
"tb_rank": 1760,
"bb_value": 6.0,
"bb_rank": 392,
"so_value": 37.0,
"so_rank": 263,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.2550335,
"obp_rank": "-",
"slg_value": 0.3453237,
"slg_rank": "-",
"ops_value": 0.6003572,
"ops_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 121.0,
"k_percent": 24.2,
"bb_percent": 3.9,
"woba": 0.263,
"xwoba": 0.273,
"xba": 0.222,
"xslg": 0.355,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 38.3,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 14.0,
"whiff_percent": 27.4,
"swing_percent": 50.8
},
"components": {
"expected_quality": -0.5227,
"regression_edge": 0.2857,
"xwoba_edge": -0.8286,
"xba_edge": -0.4857,
"xslg_edge": -0.25,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.0071,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0239,
"raw_average_factor": 1.0239,
"team_espn_average_rank": 162.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 0.9939,
"quality_score": -0.0812,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592885",
"espn_id": 31283,
"player_name": "Christian Yelich",
"team": "MIL",
"role": "batter",
"espn_rank": 269,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 269,
"gp_value": 55.0,
"gp_rank": 265,
"ab_value": 214.0,
"ab_rank": 189,
"r_value": 40.0,
"r_rank": 101,
"h_value": 52.0,
"h_rank": 193,
"avg_value": 0.2429906,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 174,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 28.0,
"rbi_rank": 181,
"tb_value": 82.0,
"tb_rank": 743,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 69.0,
"so_rank": 93,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3264462,
"obp_rank": "-",
"slg_value": 0.3831775,
"slg_rank": "-",
"ops_value": 0.7096237,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 94.0,
"k_percent": 28.4,
"bb_percent": 10.3,
"woba": 0.312,
"xwoba": 0.296,
"xba": 0.219,
"xslg": 0.37,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 40.1,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 3.7,
"whiff_percent": 32.1,
"swing_percent": 44.3
},
"components": {
"expected_quality": -0.1353,
"regression_edge": -0.4571,
"xwoba_edge": -0.1714,
"xba_edge": -0.5714,
"xslg_edge": -0.0357,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.2643,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.5667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.0277,
"quality_score": 0.3698,
"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": 61,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 61,
"gp_value": 54.0,
"gp_rank": 272,
"ab_value": 229.0,
"ab_rank": 168,
"r_value": 38.0,
"r_rank": 109,
"h_value": 68.0,
"h_rank": 114,
"avg_value": 0.2969432,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 13.0,
"hr_rank": 64,
"rbi_value": 35.0,
"rbi_rank": 117,
"tb_value": 122.0,
"tb_rank": 826,
"bb_value": 19.0,
"bb_rank": 195,
"so_value": 61.0,
"so_rank": 134,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.352,
"obp_rank": "-",
"slg_value": 0.532751,
"slg_rank": "-",
"ops_value": 0.884751,
"ops_rank": null,
"war_value": 2.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 87.0,
"k_percent": 24.4,
"bb_percent": 7.6,
"woba": 0.379,
"xwoba": 0.342,
"xba": 0.254,
"xslg": 0.487,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 15.0,
"hard_hit_percent": 47.0,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 12.4,
"whiff_percent": 23.1,
"swing_percent": 47.2
},
"components": {
"expected_quality": 1.1276,
"regression_edge": -1.0571,
"xwoba_edge": 1.1429,
"xba_edge": 0.4286,
"xslg_edge": 1.6357,
"barrel_edge": 1.7778,
"hard_hit_edge": 1.25,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "668930",
"player_name": "Brice Turang",
"offense_factor": 1.0497,
"quality_score": 0.6628,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668930",
"espn_id": 41179,
"player_name": "Brice Turang",
"team": "MIL",
"role": "batter",
"espn_rank": 13,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 13,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 328.0,
"ab_rank": 37,
"r_value": 62.0,
"r_rank": 2,
"h_value": 88.0,
"h_rank": 37,
"avg_value": 0.2682926,
"avg_rank": 52.0,
"2b_value": 20.0,
"2b_rank": 15,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 12.0,
"hr_rank": 80,
"rbi_value": 51.0,
"rbi_rank": 32,
"tb_value": 150.0,
"tb_rank": 312,
"bb_value": 50.0,
"bb_rank": 14,
"so_value": 98.0,
"so_rank": 16,
"sb_value": 13.0,
"sb_rank": 28,
"obp_value": 0.3631578,
"obp_rank": "31",
"slg_value": 0.457317,
"slg_rank": "58",
"ops_value": 0.8204748,
"ops_rank": 27.0,
"war_value": 3.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 25.6,
"bb_percent": 13.1,
"woba": 0.357,
"xwoba": 0.346,
"xba": 0.256,
"xslg": 0.44,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 6.9,
"whiff_percent": 22.0,
"swing_percent": 42.3
},
"components": {
"expected_quality": 0.8435,
"regression_edge": -0.3143,
"xwoba_edge": 1.2571,
"xba_edge": 0.4857,
"xslg_edge": 0.9643,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.6786,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.6833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.0592,
"quality_score": 0.7892,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661388",
"espn_id": 39895,
"player_name": "William Contreras",
"team": "MIL",
"role": "batter",
"espn_rank": 112,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 112,
"gp_value": 83.0,
"gp_rank": 96,
"ab_value": 322.0,
"ab_rank": 52,
"r_value": 47.0,
"r_rank": 50,
"h_value": 95.0,
"h_rank": 15,
"avg_value": 0.295031,
"avg_rank": 15.0,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 9.0,
"hr_rank": 118,
"rbi_value": 51.0,
"rbi_rank": 32,
"tb_value": 134.0,
"tb_rank": 945,
"bb_value": 31.0,
"bb_rank": 81,
"so_value": 48.0,
"so_rank": 199,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3583333,
"obp_rank": "39",
"slg_value": 0.416149,
"slg_rank": "94",
"ops_value": 0.7744823,
"ops_rank": 133.0,
"war_value": 1.4,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 13.3,
"bb_percent": 8.6,
"woba": 0.34,
"xwoba": 0.346,
"xba": 0.281,
"xslg": 0.454,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 44.2,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 11.9,
"whiff_percent": 19.1,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.9155,
"regression_edge": 0.1714,
"xwoba_edge": 1.2571,
"xba_edge": 1.2,
"xslg_edge": 1.1643,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.85,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0652,
"quality_score": 0.8697,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641343",
"espn_id": 35013,
"player_name": "Jake Bauers",
"team": "MIL",
"role": "batter",
"espn_rank": 98,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 98,
"gp_value": 79.0,
"gp_rank": 129,
"ab_value": 271.0,
"ab_rank": 119,
"r_value": 51.0,
"r_rank": 35,
"h_value": 72.0,
"h_rank": 99,
"avg_value": 0.2656826,
"avg_rank": 57.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 16.0,
"hr_rank": 37,
"rbi_value": 54.0,
"rbi_rank": 25,
"tb_value": 135.0,
"tb_rank": 502,
"bb_value": 39.0,
"bb_rank": 43,
"so_value": 81.0,
"so_rank": 57,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3630573,
"obp_rank": "31",
"slg_value": 0.4981549,
"slg_rank": "25",
"ops_value": 0.8612122,
"ops_rank": 56.0,
"war_value": 1.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 174.0,
"k_percent": 25.8,
"bb_percent": 12.4,
"woba": 0.371,
"xwoba": 0.357,
"xba": 0.257,
"xslg": 0.47,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 53.4,
"exit_velocity_avg": 92.6,
"launch_angle_avg": 10.5,
"whiff_percent": 26.8,
"swing_percent": 41.6
},
"components": {
"expected_quality": 1.3438,
"regression_edge": -0.4,
"xwoba_edge": 1.5714,
"xba_edge": 0.5143,
"xslg_edge": 1.3929,
"barrel_edge": 1.5111,
"hard_hit_edge": 2.1643,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"offense_factor": 1.0628,
"quality_score": 0.837,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669003",
"espn_id": 4313442,
"player_name": "Garrett Mitchell",
"team": "MIL",
"role": "batter",
"espn_rank": 95,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 95,
"gp_value": 78.0,
"gp_rank": 136,
"ab_value": 242.0,
"ab_rank": 158,
"r_value": 37.0,
"r_rank": 118,
"h_value": 64.0,
"h_rank": 127,
"avg_value": 0.2644628,
"avg_rank": 62.0,
"2b_value": 17.0,
"2b_rank": 42,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 8.0,
"hr_rank": 135,
"rbi_value": 42.0,
"rbi_rank": 73,
"tb_value": 111.0,
"tb_rank": 594,
"bb_value": 34.0,
"bb_rank": 62,
"so_value": 94.0,
"so_rank": 22,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3584229,
"obp_rank": "39",
"slg_value": 0.4586776,
"slg_rank": "56",
"ops_value": 0.8171005,
"ops_rank": 17.0,
"war_value": 1.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 161.0,
"k_percent": 33.6,
"bb_percent": 12.1,
"woba": 0.357,
"xwoba": 0.358,
"xba": 0.253,
"xslg": 0.473,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 16.0,
"hard_hit_percent": 52.0,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 5.5,
"whiff_percent": 38.6,
"swing_percent": 43.8
},
"components": {
"expected_quality": 1.3252,
"regression_edge": 0.0286,
"xwoba_edge": 1.6,
"xba_edge": 0.4,
"xslg_edge": 1.4357,
"barrel_edge": 2.0,
"hard_hit_edge": 1.9643,
"exit_velocity_edge": 1.8,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "686217",
"player_name": "Sal Frelick",
"offense_factor": 0.9797,
"quality_score": -0.2701,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686217",
"espn_id": 4417795,
"player_name": "Sal Frelick",
"team": "MIL",
"role": "batter",
"espn_rank": 435,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 435,
"gp_value": 82.0,
"gp_rank": 108,
"ab_value": 252.0,
"ab_rank": 143,
"r_value": 31.0,
"r_rank": 161,
"h_value": 61.0,
"h_rank": 141,
"avg_value": 0.2420634,
"avg_rank": 107.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 31.0,
"rbi_rank": 148,
"tb_value": 83.0,
"tb_rank": 1554,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 26.0,
"so_rank": 340,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3120567,
"obp_rank": "116",
"slg_value": 0.329365,
"slg_rank": "154",
"ops_value": 0.6414217,
"ops_rank": 270.0,
"war_value": -0.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 9.0,
"bb_percent": 8.7,
"woba": 0.288,
"xwoba": 0.295,
"xba": 0.255,
"xslg": 0.336,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 27.9,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 9.3,
"whiff_percent": 10.9,
"swing_percent": 42.0
},
"components": {
"expected_quality": -0.4081,
"regression_edge": 0.2,
"xwoba_edge": -0.2,
"xba_edge": 0.4571,
"xslg_edge": -0.5214,
"barrel_edge": -1.0667,
"hard_hit_edge": -1.4786,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "806198",
"player_name": "Cooper Pratt",
"offense_factor": 1.0213,
"quality_score": 0.2842,
"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": 229,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 229,
"gp_value": 17.0,
"gp_rank": 462,
"ab_value": 50.0,
"ab_rank": 445,
"r_value": 5.0,
"r_rank": 443,
"h_value": 10.0,
"h_rank": 440,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 459,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 0.0,
"hr_rank": 470,
"rbi_value": 2.0,
"rbi_rank": 492,
"tb_value": 11.0,
"tb_rank": 2755,
"bb_value": 8.0,
"bb_rank": 359,
"so_value": 11.0,
"so_rank": 464,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3166666,
"obp_rank": "-",
"slg_value": 0.22,
"slg_rank": "-",
"ops_value": 0.5366666,
"ops_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 18.3,
"bb_percent": 13.3,
"woba": 0.26,
"xwoba": 0.348,
"xba": 0.28,
"xslg": 0.371,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 27.5,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 6.8,
"whiff_percent": 25.3,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.4087,
"regression_edge": 2.0,
"xwoba_edge": 1.3143,
"xba_edge": 1.1714,
"xslg_edge": -0.0214,
"barrel_edge": -0.3778,
"hard_hit_edge": -1.5357,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.956,
"quality_score": -0.5867,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666152",
"espn_id": 42987,
"player_name": "David Hamilton",
"team": "MIL",
"role": "batter",
"espn_rank": 151,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 151,
"gp_value": 73.0,
"gp_rank": 166,
"ab_value": 201.0,
"ab_rank": 213,
"r_value": 31.0,
"r_rank": 161,
"h_value": 47.0,
"h_rank": 210,
"avg_value": 0.2338308,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 306,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 13.0,
"rbi_rank": 320,
"tb_value": 65.0,
"tb_rank": 1431,
"bb_value": 22.0,
"bb_rank": 169,
"so_value": 53.0,
"so_rank": 165,
"sb_value": 18.0,
"sb_rank": 12,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.323383,
"slg_rank": "-",
"ops_value": 0.635883,
"ops_rank": null,
"war_value": 1.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 133.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.289,
"xwoba": 0.264,
"xba": 0.202,
"xslg": 0.293,
"sweet_spot_percent": 24.7,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 26.8,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 11.6,
"whiff_percent": 21.7,
"swing_percent": 45.2
},
"components": {
"expected_quality": -1.0121,
"regression_edge": -0.7143,
"xwoba_edge": -1.0857,
"xba_edge": -1.0571,
"xslg_edge": -1.1357,
"barrel_edge": -0.7111,
"hard_hit_edge": -1.6357,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -1.4333,
"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 MIL | True | 130 | 0.1612 | 0.4520 | 0.9863 | 1.0124 | 0.9873 | 0.9947 | neutral | 0.2850 | 0.2960 | 24.50 | 7.50 | 28.40 | 8.70 | 36.20 | |
| Home STL | True | 322 | -0.0350 | 1 | 1.0030 | 0.9777 | 0.9580 | 1.0359 | neutral | 0.3050 | 0.3130 | 22.20 | 6.80 | 22 | 7.10 | 46.50 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home STL | True | None | 87 | 92.34 | 2528 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1439 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0030 |
| home_runs_vs_away_pitcher | 0.9938 |
| home_pitcher_quality_edge | -0.1962 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669160",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 254.0,
"k_percent": 22.2,
"bb_percent": 6.8,
"woba": 0.313,
"xwoba": 0.305,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 46.5,
"avg_best_speed": 79.3969,
"avg_hyper_speed": 94.7663,
"whiff_percent": 22.0,
"swing_percent": 47.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.0794,
"command_and_miss": -0.0957,
"regression_edge": 0.2286,
"xwoba_edge": 0.2286,
"barrel_edge": 0.0444,
"hard_hit_edge": -1.1571,
"whiff_edge": -0.5,
"bb_edge": 0.525,
"pitch_design_score": 0.1439
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669160",
"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": 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": 87,
"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.1439,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.028,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.035,
"sample_weight": 1.0,
"run_prevention_factor": 1.003,
"strikeout_factor": 0.9777,
"walk_factor": 0.958,
"homer_factor": 1.0359,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669160",
"espn_id": 40937,
"player_name": "Dustin May",
"team": "STL",
"role": "pitcher",
"espn_rank": 322,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 322,
"gp_value": 16.0,
"gp_rank": 322,
"gs_value": 16.0,
"gs_rank": 62,
"qs_value": 9.0,
"qs_rank": 23,
"era_value": 4.8023,
"era_rank": null,
"w_value": 5.0,
"w_rank": 63,
"l_value": 6.0,
"l_rank": 36,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 84.1,
"ip_rank": 75,
"h_value": 83.0,
"h_rank": 55,
"er_value": 45.0,
"er_rank": 33,
"hr_value": 7.0,
"hr_rank": 149,
"bb_value": 24.0,
"bb_rank": 111,
"k_value": 78.0,
"k_rank": 64,
"k_per_9_value": 8.324111,
"k_per_9_rank": 23.0,
"whip_value": 1.2687,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 24.5,
"bb_percent": 7.5,
"woba": 0.296,
"xwoba": 0.285,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 36.2,
"avg_best_speed": 76.1753,
"avg_hyper_speed": 93.6723,
"whiff_percent": 28.4,
"swing_percent": 48.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.4242,
"command_and_miss": 0.3371,
"regression_edge": 0.3143,
"xwoba_edge": 0.8,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.4143,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "675660",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1612,
"sample_weight": 0.452,
"run_prevention_factor": 0.9863,
"strikeout_factor": 1.0124,
"walk_factor": 0.9873,
"homer_factor": 0.9947,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 130,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 130,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 7.0,
"gs_rank": 156,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 3.1213,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 2.0,
"hld_rank": 178,
"ip_value": 57.2,
"ip_rank": 135,
"h_value": 53.0,
"h_rank": 139,
"er_value": 20.0,
"er_rank": 190,
"hr_value": 5.0,
"hr_rank": 207,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 59.0,
"k_rank": 122,
"k_per_9_value": 9.208093,
"k_per_9_rank": 24.0,
"whip_value": 1.2312,
"whip_rank": null,
"war_value": 0.93,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.003,
"home_runs_vs_away_pitcher": 0.9938,
"home_pitcher_quality_edge": -0.1962
},
"score_before": {
"away_runs": 4.4725,
"home_runs": 3.4194
},
"score_after": {
"away_runs": 4.4859,
"home_runs": 3.3982,
"home_win_probability": 0.404
},
"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 MIL | 5-5 | 0.500 | 3.70 | 3.50 | 2 | average | average | |
| Home STL | 5-5 | 0.500 | 4.50 | 3.80 | 7 | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIL | 55-33 | 0.625 | 127 | 1.443 | True |
| Home STL | 47-40 | 0.540 | 13 | 0.149 | True |
| Signal | - | - | -1.294 | -1.421 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIL | - | - | 4 | - | - | - | - |
| Game target STL | - | - | 2 | - | - | - | - |
| Player finalized MIL | 33 | 9 | 6 | 0 | 4 | 1 | 8 |
| Player finalized STL | 31 | 9 | 3 | 0 | 3 | 0 | 7 |
| Player model fractional MIL | 32.87 | 8.30 | 4.95 | 1.11 | 4.18 | 3.55 | 7.99 |
| Player model fractional STL | 31.17 | 7.61 | 4.20 | 1.04 | 4.27 | 2.69 | 6.53 |
| Simulation box MIL | 35 | 8 | 6 | 4 | 6 | 2 | 3 |
| Simulation box STL | 33 | 6 | 2 | 2 | 2 | 1 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | Starter | Shane Drohan | 5.20 | 2 | 5 | 4 | 1 | 3.53 | 1.29 | True |
| Away MIL | Middle Reliever | Aaron Ashby | 1 | 0 | 1 | 2 | 0 | 4.40 | 1.60 | True |
| Away MIL | Middle Reliever | Abner Uribe | 1 | 0 | 2 | 0 | 0 | 2.37 | 0.90 | True |
| Away MIL | Middle Reliever | Trevor Megill | 1.10 | 0 | 1 | 0 | 0 | 2.14 | 0.97 | True |
| Home STL | Starter | Dustin May | 5.10 | 5 | 1 | 6 | 2 | 4.87 | 1.22 | True |
| Home STL | Middle Reliever | JoJo Romero | 1.20 | 0 | 0 | 1 | 0 | 3.75 | 1.46 | True |
| Home STL | Middle Reliever | Riley O'Brien | 1 | 1 | 2 | 1 | 0 | 3.81 | 1.16 | True |
| Home STL | Middle Reliever | Ryne Stanek | 1 | 0 | 0 | 0 | 0 | 3.80 | 1.20 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | MIL | batter | CF | Garrett Mitchell | better | 11 | 8 | 3 | 9 | 2 | predicted_RBI | 1.5000 | boost | better |
| home | STL | batter | LF | Nelson Velázquez | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.5000 | boost | better |
| home | STL | batter | 2B | JJ Wetherholt | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -1.4800 | deboost | worse |
| away | MIL | batter | 1B | Jake Bauers | better | 10 | 7 | 3 | 8 | 2 | predicted_RBI | 1.4100 | boost | better |
| home | STL | batter | 3B | José Fermín | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | 1.3330 | boost | better |
| away | MIL | batter | DH | Christian Yelich | better | 10 | 5 | 5 | 6 | 4 | predicted_SO | -1.2410 | deboost | better |
| home | STL | batter | CF | Nathan Church | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.2340 | boost | worse |
| away | MIL | batter | 3B | David Hamilton | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.2120 | boost | worse |
| away | MIL | batter | 2B | Brice Turang | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_SO | -1.1450 | deboost | better |
| away | MIL | pitcher | Starter | Shane Drohan | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| away | MIL | pitcher | Middle Reliever | Abner Uribe | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | STL | batter | DH | Iván Herrera | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -1.0000 | deboost | worse |
| home | STL | batter | C | Pedro Pagés | worse | 11 | 5 | 6 | 4 | 7 | predicted_HR | 0.9300 | boost | better |
| home | STL | batter | RF | Jordan Walker | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 0.8700 | boost | better |
| away | MIL | batter | RF | Sal Frelick | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | 0.8080 | boost | better |
| home | STL | batter | SS | Masyn Winn | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.7920 | deboost | better |
| away | MIL | batter | LF | Jackson Chourio | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_HR | 0.7800 | boost | better |
| home | STL | batter | 1B | Blaze Jordan | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.7600 | deboost | worse |
| away | MIL | batter | SS | Cooper Pratt | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -0.6470 | deboost | better |
| away | MIL | batter | C | William Contreras | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.5850 | deboost | better |
| home | STL | pitcher | Middle Reliever | JoJo Romero | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | MIL | pitcher | Middle Reliever | Trevor Megill | 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 | Shane Drohan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1612 |
| ESPN Rank | 130 |
| 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 | 4 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 3.1214 |
| Season WHIP | 1.2312 |
| Role Avg IP | 4.7140 |
| Recent Avg IP | 5.2670 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"opponent": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"edges": {
"quality_edge": 0.2133,
"offense_edge": 0.1085,
"opponent_offense_edge": -0.0235,
"defense_strength": 0.2329,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0165,
"run_prevention": 0.9623,
"strikeout": 1.0083
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675660",
"profile": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 24.5,
"bb_percent": 7.5,
"woba": 0.296,
"xwoba": 0.285,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 36.2,
"avg_best_speed": 76.1753,
"avg_hyper_speed": 93.6723,
"whiff_percent": 28.4,
"swing_percent": 48.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.4242,
"command_and_miss": 0.3371,
"regression_edge": 0.3143,
"xwoba_edge": 0.8,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.4143,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "675660",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1612,
"sample_weight": 0.452,
"run_prevention_factor": 0.9863,
"strikeout_factor": 1.0124,
"walk_factor": 0.9873,
"homer_factor": 0.9947,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 130,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 130,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 7.0,
"gs_rank": 156,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 3.1213,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 2.0,
"hld_rank": 178,
"ip_value": 57.2,
"ip_rank": 135,
"h_value": 53.0,
"h_rank": 139,
"er_value": 20.0,
"er_rank": 190,
"hr_value": 5.0,
"hr_rank": 207,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 59.0,
"k_rank": 122,
"k_per_9_value": 9.208093,
"k_per_9_rank": 24.0,
"whip_value": 1.2312,
"whip_rank": null,
"war_value": 0.93,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9938,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9938,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9943,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9976,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0056,
"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": 41.0,
"ER": 14,
"H": 39,
"BB": 12,
"SO": 44,
"HR": 5,
"ERA": 3.073170731707317,
"WHIP": 1.2439024390243902,
"K9": 9.658536585365853,
"HR9": 1.0975609756097562,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "675660",
"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": "675660",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.1,
"ER": 10.0,
"R": 10.0,
"H": 27.0,
"BB": 8.0,
"SO": 26.0,
"HR": 3.0,
"BF": 111.0,
"Pitches": 428.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 5.4,
"BB": 1.6,
"SO": 5.2,
"HR": 0.6,
"BF": 22.2,
"Pitches": 85.6
},
"rates": {
"ERA": 3.4177,
"WHIP": 1.3291,
"ER_per_IP": 0.37975,
"H_per_IP": 1.02532,
"BB_per_IP": 0.3038,
"SO_per_IP": 0.98734,
"HR_per_IP": 0.11392
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 41.0,
"ER": 14.0,
"R": 15.0,
"H": 39.0,
"BB": 12.0,
"SO": 44.0,
"HR": 5.0,
"BF": 170.0,
"Pitches": 644.0
},
"per_game": {
"IP": 4.0,
"ER": 1.4,
"R": 1.5,
"H": 3.9,
"BB": 1.2,
"SO": 4.4,
"HR": 0.5,
"BF": 17.0,
"Pitches": 64.4
},
"rates": {
"ERA": 3.0732,
"WHIP": 1.2439,
"ER_per_IP": 0.34146,
"H_per_IP": 0.95122,
"BB_per_IP": 0.29268,
"SO_per_IP": 1.07317,
"HR_per_IP": 0.12195
}
},
"season": {
"games": 17,
"totals": {
"IP": 57.2,
"ER": 20.0,
"R": 23.0,
"H": 53.0,
"BB": 18.0,
"SO": 59.0,
"HR": 5.0,
"BF": 241.0,
"Pitches": 925.0
},
"per_game": {
"IP": 3.1,
"ER": 1.1765,
"R": 1.3529,
"H": 3.1176,
"BB": 1.0588,
"SO": 3.4706,
"HR": 0.2941,
"BF": 14.1765,
"Pitches": 54.4118
},
"rates": {
"ERA": 3.1214,
"WHIP": 1.2312,
"ER_per_IP": 0.34682,
"H_per_IP": 0.91908,
"BB_per_IP": 0.31214,
"SO_per_IP": 1.02312,
"HR_per_IP": 0.08671
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 1.861,
"predicted_H": 4.627,
"predicted_BB": 1.489,
"predicted_SO": 4.78,
"predicted_HR": 0.568,
"predicted_ERA": 3.5331,
"predicted_WHIP": 1.2904
}
}{
"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": 4.2,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.861,
"final": 1.923,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.627,
"final": 4.3473,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.489,
"final": 1.2709,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.78,
"final": 4.4321,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.568,
"final": 1.2067,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5331,
"final": 3.5331,
"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."
}| Field | Value |
|---|---|
| Pitcher | Aaron Ashby |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3657 |
| ESPN Rank | 168 |
| 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 | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.2468 |
| Season WHIP | 1.3861 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"opponent": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"edges": {
"quality_edge": 0.2133,
"offense_edge": 0.1085,
"opponent_offense_edge": -0.0235,
"defense_strength": 0.2329,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0165,
"run_prevention": 0.9623,
"strikeout": 1.0083
},
"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": 30.6,
"bb_percent": 12.2,
"woba": 0.297,
"xwoba": 0.274,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 39.5,
"avg_best_speed": 75.1679,
"avg_hyper_speed": 94.325,
"whiff_percent": 31.4,
"swing_percent": 40.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.7016,
"command_and_miss": 0.6443,
"regression_edge": 0.6571,
"xwoba_edge": 1.1143,
"barrel_edge": 0.5778,
"hard_hit_edge": -0.1571,
"whiff_edge": 0.8429,
"bb_edge": -0.825,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676879",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3657,
"sample_weight": 0.584,
"run_prevention_factor": 0.9689,
"strikeout_factor": 1.0464,
"walk_factor": 1.0385,
"homer_factor": 0.9572,
"woba_minus_xwoba": 0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676879",
"espn_id": 41325,
"player_name": "Aaron Ashby",
"team": "MIL",
"role": "pitcher",
"espn_rank": 168,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 168,
"gp_value": 42.0,
"gp_rank": 8,
"gs_value": 1.0,
"gs_rank": 258,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.2468,
"era_rank": null,
"w_value": 12.0,
"w_rank": 1,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 5.0,
"hld_rank": 111,
"ip_value": 52.2,
"ip_rank": 151,
"h_value": 45.0,
"h_rank": 156,
"er_value": 19.0,
"er_rank": 197,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 28.0,
"bb_rank": 77,
"k_value": 70.0,
"k_rank": 87,
"k_per_9_value": 11.962025,
"k_per_9_rank": 15.0,
"whip_value": 1.386,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9818,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9818,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0225,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.975,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0271,
"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": 6,
"SO": 9,
"HR": 1,
"ERA": 5.192307692307693,
"WHIP": 1.5000000000000004,
"K9": 9.346153846153848,
"HR9": 1.0384615384615388,
"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-07-05T00: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.445,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6763,
"prior_weight": 0.3237
},
"role": "pitcher",
"player_id": "676879",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 92.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 4.4,
"Pitches": 18.4
},
"rates": {
"ERA": 4.1538,
"WHIP": 2.0769,
"ER_per_IP": 0.46154,
"H_per_IP": 1.15385,
"BB_per_IP": 0.92308,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.7,
"BB": 0.6,
"SO": 0.9,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.1
},
"rates": {
"ERA": 5.1923,
"WHIP": 1.5,
"ER_per_IP": 0.57692,
"H_per_IP": 0.80769,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 42,
"totals": {
"IP": 52.2,
"ER": 19.0,
"R": 23.0,
"H": 45.0,
"BB": 28.0,
"SO": 70.0,
"HR": 4.0,
"BF": 229.0,
"Pitches": 919.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4524,
"R": 0.5476,
"H": 1.0714,
"BB": 0.6667,
"SO": 1.6667,
"HR": 0.0952,
"BF": 5.4524,
"Pitches": 21.881
},
"rates": {
"ERA": 3.2468,
"WHIP": 1.3861,
"ER_per_IP": 0.36076,
"H_per_IP": 0.85443,
"BB_per_IP": 0.53165,
"SO_per_IP": 1.32911,
"HR_per_IP": 0.07595
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.511,
"predicted_H": 1.016,
"predicted_BB": 0.661,
"predicted_SO": 1.061,
"predicted_HR": 0.09,
"predicted_ERA": 4.4008,
"predicted_WHIP": 1.6041
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4868,
"form_weight": 0.5132,
"form_reliability": 0.6763,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.445,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6763,
"prior_weight": 0.3237
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.511,
"final": 0.2623,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.016,
"final": 1.495,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.661,
"final": 0.3392,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.061,
"final": 1.0313,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.09,
"final": 0.0462,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4008,
"final": 4.4008,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6041,
"final": 1.6041,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.3515 |
| 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 | 0 |
| Pre SO | 2 |
| Season ERA | 2.7757 |
| Season WHIP | 1.0093 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"opponent": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"edges": {
"quality_edge": 0.2133,
"offense_edge": 0.1085,
"opponent_offense_edge": -0.0235,
"defense_strength": 0.2329,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0165,
"run_prevention": 0.9623,
"strikeout": 1.0083
},
"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.3,
"bb_percent": 8.6,
"woba": 0.239,
"xwoba": 0.257,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 30.9,
"avg_best_speed": 75.7437,
"avg_hyper_speed": 93.0277,
"whiff_percent": 27.2,
"swing_percent": 43.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.3896,
"command_and_miss": 0.2093,
"regression_edge": -0.5143,
"xwoba_edge": 1.6,
"barrel_edge": 1.1333,
"hard_hit_edge": 1.0714,
"whiff_edge": 0.2429,
"bb_edge": 0.075,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682842",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3515,
"sample_weight": 0.45,
"run_prevention_factor": 0.9701,
"strikeout_factor": 1.0087,
"walk_factor": 0.9973,
"homer_factor": 0.9183,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682842",
"espn_id": 4917865,
"player_name": "Abner Uribe",
"team": "MIL",
"role": "pitcher",
"espn_rank": 101,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 101,
"gp_value": 36.0,
"gp_rank": 59,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.7757,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 5.0,
"sv_rank": 32,
"hld_value": 13.0,
"hld_rank": 16,
"ip_value": 35.2,
"ip_rank": 257,
"h_value": 24.0,
"h_rank": 343,
"er_value": 11.0,
"er_rank": 359,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 12.0,
"bb_rank": 299,
"k_value": 34.0,
"k_rank": 266,
"k_per_9_value": 8.579439,
"k_per_9_rank": 27.0,
"whip_value": 1.0093,
"whip_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9632,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0039,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 1,
"H": 4,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 0.8181818181818182,
"WHIP": 0.5454545454545454,
"K9": 7.363636363636363,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00: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": 7.073,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5859,
"prior_weight": 0.4141
},
"role": "pitcher",
"player_id": "682842",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4737,
"ER_per_IP": 0.0,
"H_per_IP": 0.31579,
"BB_per_IP": 0.15789,
"SO_per_IP": 0.47368,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 137.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.7
},
"rates": {
"ERA": 0.8182,
"WHIP": 0.5455,
"ER_per_IP": 0.09091,
"H_per_IP": 0.36364,
"BB_per_IP": 0.18182,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 36,
"totals": {
"IP": 35.2,
"ER": 11.0,
"R": 11.0,
"H": 24.0,
"BB": 12.0,
"SO": 34.0,
"HR": 3.0,
"BF": 140.0,
"Pitches": 537.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3056,
"R": 0.3056,
"H": 0.6667,
"BB": 0.3333,
"SO": 0.9444,
"HR": 0.0833,
"BF": 3.8889,
"Pitches": 14.9167
},
"rates": {
"ERA": 2.7757,
"WHIP": 1.0093,
"ER_per_IP": 0.30841,
"H_per_IP": 0.6729,
"BB_per_IP": 0.33645,
"SO_per_IP": 0.95327,
"HR_per_IP": 0.08411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.287,
"predicted_H": 0.694,
"predicted_BB": 0.29,
"predicted_SO": 0.87,
"predicted_HR": 0.098,
"predicted_ERA": 2.3716,
"predicted_WHIP": 0.9045
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.525,
"form_weight": 0.475,
"form_reliability": 0.5859,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.073,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5859,
"prior_weight": 0.4141
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.287,
"final": 0.1363,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.694,
"final": 0.3297,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.29,
"final": 0.1378,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.87,
"final": 1.9882,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.098,
"final": 0.0466,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3716,
"final": 2.3716,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9045,
"final": 0.9045,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.3622 |
| ESPN Rank | 149 |
| 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 | 2.0571 |
| Season WHIP | 0.9143 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"opponent": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"edges": {
"quality_edge": 0.2133,
"offense_edge": 0.1085,
"opponent_offense_edge": -0.0235,
"defense_strength": 0.2329,
"opponent_defense_weakness": -0.0901,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0165,
"run_prevention": 0.9623,
"strikeout": 1.0083
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656730",
"profile": {
"available": true,
"pitcher_id": "656730",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 79.0,
"k_percent": 31.2,
"bb_percent": 7.1,
"woba": 0.225,
"xwoba": 0.25,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 41.9,
"avg_best_speed": 81.6311,
"avg_hyper_speed": 94.3401,
"whiff_percent": 32.3,
"swing_percent": 52.1
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.1084,
"command_and_miss": 0.9829,
"regression_edge": -0.7143,
"xwoba_edge": 1.8,
"barrel_edge": 0.5778,
"hard_hit_edge": -0.5,
"whiff_edge": 0.9714,
"bb_edge": 0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656730",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3622,
"sample_weight": 0.45,
"run_prevention_factor": 0.9692,
"strikeout_factor": 1.0396,
"walk_factor": 0.9838,
"homer_factor": 0.9639,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656730",
"espn_id": 40080,
"player_name": "Trevor Megill",
"team": "MIL",
"role": "pitcher",
"espn_rank": 149,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 149,
"gp_value": 36.0,
"gp_rank": 59,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.0857,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 13.0,
"sv_rank": 13,
"hld_value": 7.0,
"hld_rank": 70,
"ip_value": 35.0,
"ip_rank": 270,
"h_value": 24.0,
"h_rank": 343,
"er_value": 12.0,
"er_rank": 336,
"hr_value": 0.0,
"hr_rank": 625,
"bb_value": 10.0,
"bb_rank": 361,
"k_value": 44.0,
"k_rank": 183,
"k_per_9_value": 11.314286,
"k_per_9_rank": 18.0,
"whip_value": 0.9714,
"whip_rank": null,
"war_value": 0.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9861,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9861,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0178,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 0,
"H": 3,
"BB": 2,
"SO": 10,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00: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.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5813,
"prior_weight": 0.4187
},
"role": "pitcher",
"player_id": "656730",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 35,
"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": 6.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.6
},
"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.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 2.0,
"SO": 10.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 138.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.3,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.5,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.3,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 35,
"totals": {
"IP": 35.0,
"ER": 8.0,
"R": 9.0,
"H": 22.0,
"BB": 10.0,
"SO": 44.0,
"HR": 0.0,
"BF": 136.0,
"Pitches": 527.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2286,
"R": 0.2571,
"H": 0.6286,
"BB": 0.2857,
"SO": 1.2571,
"HR": 0.0,
"BF": 3.8857,
"Pitches": 15.0571
},
"rates": {
"ERA": 2.0571,
"WHIP": 0.9143,
"ER_per_IP": 0.22857,
"H_per_IP": 0.62857,
"BB_per_IP": 0.28571,
"SO_per_IP": 1.25714,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.238,
"predicted_H": 0.697,
"predicted_BB": 0.276,
"predicted_SO": 1.063,
"predicted_HR": 0.062,
"predicted_ERA": 2.1386,
"predicted_WHIP": 0.9729
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5269,
"form_weight": 0.4731,
"form_reliability": 0.5813,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5813,
"prior_weight": 0.4187
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.238,
"final": 0.1126,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.697,
"final": 0.3298,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.276,
"final": 0.1306,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.063,
"final": 1.0298,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0293,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1386,
"final": 2.1386,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9729,
"final": 0.9729,
"source": "form_only"
}
}
}{
"available": false,
"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.185 | 0.000 | 0.000 | Hitting_2B | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 4.420 | 5.000 | 4.000 | Hitting_AB | 3.913 | 3.000 | 1.087 | 2.000 |
| predicted_AVG | 0.213 | 0.200 | 0.250 | Hitting_AVG | 0.274 | 0.000 | -0.074 | 0.200 |
| predicted_BB | 0.463 | 0.000 | 0.000 | Hitting_BB | 0.409 | 0.000 | -0.409 | 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 | 1.071 | 0.000 | -0.071 | 1.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | 0.866 | 1.000 |
| predicted_OBP | 0.297 | 0.200 | 0.250 | Hitting_OBP | 0.344 | 0.000 | -0.144 | 0.200 |
| predicted_R | 0.704 | 1.000 | 1.000 | Hitting_R | 0.685 | 0.000 | 0.315 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 0.000 | Hitting_RBI | 0.559 | 0.000 | 0.441 | 1.000 |
| predicted_SLG | 0.355 | 0.800 | 0.250 | Hitting_SLG | 0.457 | 0.000 | 0.343 | 0.800 |
| predicted_SO | 1.241 | 0.000 | 1.000 | Hitting_SO | 1.142 | 0.000 | -1.142 | 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.1400 -> 1.0000 (boost 0.8600, better) |
| Biggest Deboost | predicted_SO: 1.2410 -> 0.0000 (deboost -1.2410, 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 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.4200 -> 4.1547 (deboost -0.2653, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3458 -> 0.3530 (boost 0.0072, better) | predicted_OBP: 0.2956 -> 0.2903 (deboost -0.0053, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.8607 -> 1.0000 (boost 0.1393, better) | predicted_RBI: 0.5023 -> 0.0000 (deboost -0.5023, worse) | AB rounded to 4 (raw=4.42), rates preserved: AVG=0.195 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6666 -> 1.0000 (boost 0.3334, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2072 -> 0.2500 (boost 0.0428, better) | predicted_SLG: 0.3530 -> 0.2500 (deboost -0.1030, 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.3530 (boost 0.1030, better) | predicted_AVG: 0.2500 -> 0.2072 (deboost -0.0428, 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.185,
"predicted_3B": 0.019,
"predicted_AB": 4.42,
"predicted_AVG": 0.213,
"predicted_BB": 0.463,
"predicted_H": 0.94,
"predicted_HR": 0.14,
"predicted_OBP": 0.297,
"predicted_R": 0.704,
"predicted_RBI": 0.5,
"predicted_SLG": 0.355,
"predicted_SO": 1.241
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1646,
"predicted_3B": 0.0157,
"predicted_AB": 4.1547,
"predicted_AVG": 0.2034,
"predicted_BB": 0.4818,
"predicted_H": 0.8478,
"predicted_HBP": 0.042,
"predicted_HR": 0.1346,
"predicted_OBP": 0.2956,
"predicted_R": 0.6481,
"predicted_RBI": 0.4883,
"predicted_SLG": 0.3458,
"predicted_SO": 1.2251
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.1646,
"delta": -0.0204,
"percent_delta": -0.1103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0157,
"delta": -0.0033,
"percent_delta": -0.1737,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.1547,
"delta": -0.2653,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2034,
"delta": -0.0096,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.463,
"after": 0.4818,
"delta": 0.0188,
"percent_delta": 0.0406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.8478,
"delta": -0.0922,
"percent_delta": -0.0981,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1346,
"delta": -0.0054,
"percent_delta": -0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2956,
"delta": -0.0014,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.704,
"after": 0.6481,
"delta": -0.0559,
"percent_delta": -0.0794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4883,
"delta": -0.0117,
"percent_delta": -0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3458,
"delta": -0.0092,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.241,
"after": 1.2251,
"delta": -0.0159,
"percent_delta": -0.0128,
"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.42,
"after": 4.1547,
"delta": -0.2653,
"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": 54
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1646,
"predicted_3B": 0.0157,
"predicted_AB": 4.1547,
"predicted_AVG": 0.2072,
"predicted_BB": 0.487,
"predicted_H": 0.8607,
"predicted_HBP": 0.042,
"predicted_HR": 0.1366,
"predicted_OBP": 0.2903,
"predicted_R": 0.6666,
"predicted_RBI": 0.5023,
"predicted_SLG": 0.353,
"predicted_SO": 1.212
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1646,
"after": 0.1646,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0157,
"after": 0.0157,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1547,
"after": 4.1547,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2034,
"after": 0.2072,
"delta": 0.0038,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4818,
"after": 0.487,
"delta": 0.0052,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8478,
"after": 0.8607,
"delta": 0.0129,
"percent_delta": 0.0152,
"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.1346,
"after": 0.1366,
"delta": 0.002,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2956,
"after": 0.2903,
"delta": -0.0053,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6481,
"after": 0.6666,
"delta": 0.0185,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4883,
"after": 0.5023,
"delta": 0.014,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3458,
"after": 0.353,
"delta": 0.0072,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2251,
"after": 1.212,
"delta": -0.0131,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3458,
"after": 0.353,
"delta": 0.0072,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2956,
"after": 0.2903,
"delta": -0.0053,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.42), rates preserved: AVG=0.195 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1646,
"after": 0.0,
"delta": -0.1646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0157,
"after": 0.0,
"delta": -0.0157,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1547,
"after": 4.0,
"delta": -0.1547,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.487,
"after": 0.0,
"delta": -0.487,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8607,
"after": 1.0,
"delta": 0.1393,
"percent_delta": 0.1618,
"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.1366,
"after": 0.0,
"delta": -0.1366,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5023,
"after": 0.0,
"delta": -0.5023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.212,
"after": 1.0,
"delta": -0.212,
"percent_delta": -0.1749,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8607,
"after": 1.0,
"delta": 0.1393,
"percent_delta": 0.1618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5023,
"after": 0.0,
"delta": -0.5023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6666,
"after": 1.0,
"delta": 0.3334,
"percent_delta": 0.5002,
"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.6666,
"after": 1.0,
"delta": 0.3334,
"percent_delta": 0.5002,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2072,
"after": 0.25,
"delta": 0.0428,
"percent_delta": 0.2066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2903,
"after": 0.25,
"delta": -0.0403,
"percent_delta": -0.1388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.353,
"after": 0.25,
"delta": -0.103,
"percent_delta": -0.2918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2072,
"after": 0.25,
"delta": 0.0428,
"percent_delta": 0.2066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.25,
"delta": -0.103,
"percent_delta": -0.2918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 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": 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.2072,
"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.2903,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.353,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2072,
"delta": -0.0428,
"percent_delta": -0.1714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2903,
"delta": 0.0403,
"percent_delta": 0.1613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.353,
"delta": 0.103,
"percent_delta": 0.4118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.353,
"delta": 0.103,
"percent_delta": 0.4118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2072,
"delta": -0.0428,
"percent_delta": -0.1714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 5.0,
"delta": 0.58,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2072,
"delta": -0.0058,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.463,
"after": 0.0,
"delta": -0.463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2903,
"delta": -0.0067,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.704,
"after": 1.0,
"delta": 0.296,
"percent_delta": 0.4205,
"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.355,
"after": 0.353,
"delta": -0.002,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.241,
"after": 0.0,
"delta": -1.241,
"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.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.241,
"after": 0.0,
"delta": -1.241,
"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.185 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.420 | - |
| predicted_AVG | 0.213 | - |
| predicted_BB | 0.463 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.704 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 1.241 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.020 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 4.155 | -0.265 |
| predicted_AVG | 0.203 | -0.010 |
| predicted_BB | 0.482 | 0.019 |
| predicted_H | 0.848 | -0.092 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.135 | -0.005 |
| predicted_OBP | 0.296 | -0.001 |
| predicted_R | 0.648 | -0.056 |
| predicted_RBI | 0.488 | -0.012 |
| predicted_SLG | 0.346 | -0.009 |
| predicted_SO | 1.225 | -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.165 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 4.155 | 0.000 |
| predicted_AVG | 0.207 | 0.004 |
| predicted_BB | 0.487 | 0.005 |
| predicted_H | 0.861 | 0.013 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.137 | 0.002 |
| predicted_OBP | 0.290 | -0.005 |
| predicted_R | 0.667 | 0.018 |
| predicted_RBI | 0.502 | 0.014 |
| predicted_SLG | 0.353 | 0.007 |
| predicted_SO | 1.212 | -0.013 |
AB rounded to 4 (raw=4.42), rates preserved: AVG=0.195 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.165 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | -0.155 |
| predicted_AVG | 0.250 | 0.043 |
| predicted_BB | 0.000 | -0.487 |
| predicted_H | 1.000 | 0.139 |
| predicted_HR | 0.000 | -0.137 |
| predicted_OBP | 0.250 | -0.040 |
| predicted_R | 1.000 | 0.333 |
| predicted_RBI | 0.000 | -0.502 |
| predicted_SLG | 0.250 | -0.103 |
| predicted_SO | 1.000 | -0.212 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 19.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 4.000 | 6.000 | 0.0526 | 0.2174 | 0.2105 | 0.0526 | 0.0526 | 0.1053 | 0.2105 | 0.3158 |
| last_10 | 0.20 | 10 | - | 35.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 5.000 | 13.000 | 0.1429 | 0.2683 | 0.2571 | 0.1429 | 0.0286 | 0.1143 | 0.1429 | 0.3714 |
| season | 0.60 | 54 | - | 209.000 | 50.000 | 10.000 | 1.000 | 6.000 | 28.000 | 38.000 | 25.000 | 67.000 | 0.2392 | 0.3249 | 0.3828 | 0.2392 | 0.0287 | 0.1340 | 0.1196 | 0.3206 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.7840 |
| predicted_AVG | 0.1900 |
| predicted_BB | 0.5080 |
| predicted_H | 0.7190 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.1270 |
| predicted_OBP | 0.2937 |
| predicted_R | 0.5700 |
| predicted_RBI | 0.4720 |
| predicted_SLG | 0.3329 |
| predicted_SO | 1.2030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.1360 | 0.1646 | model_form_blend |
| predicted_3B | 0.0190 | 0.0110 | 0.0157 | model_form_blend |
| predicted_AB | 4.4200 | 3.7840 | 4.1547 | model_form_blend |
| predicted_AVG | 0.2130 | 0.1900 | 0.2034 | model_form_blend |
| predicted_BB | 0.4630 | 0.5080 | 0.4818 | model_form_blend |
| predicted_H | 0.9400 | 0.7190 | 0.8478 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.1400 | 0.1270 | 0.1346 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2937 | 0.2956 | model_form_blend |
| predicted_R | 0.7040 | 0.5700 | 0.6481 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4720 | 0.4883 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3329 | 0.3458 | model_form_blend |
| predicted_SO | 1.2410 | 1.2030 | 1.2251 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 127 |
| Season rows before report date | 127 |
| Report year | 2026 |
| Profile rows used | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 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 | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 592885 |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.312 |
| sl_xwoba | 0.296 |
| sl_xba | 0.219 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 40.1 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 3.7 |
| sl_whiff_percent | 32.1 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.278 | 0.000 | 0.000 | Hitting_2B | 0.341 | 1.000 | -0.341 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.690 | 4.000 | 5.000 | Hitting_AB | 4.309 | 4.000 | -0.309 | 0.000 |
| predicted_AVG | 0.255 | 0.250 | 0.200 | Hitting_AVG | 0.289 | 0.500 | -0.039 | -0.250 |
| predicted_BB | 0.352 | 0.000 | 0.000 | Hitting_BB | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.200 | 1.000 | 1.000 | Hitting_H | 1.244 | 2.000 | -0.244 | -1.000 |
| predicted_HR | 0.220 | 1.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | 0.870 | 1.000 |
| predicted_OBP | 0.341 | 0.250 | 0.200 | Hitting_OBP | 0.337 | 0.500 | -0.087 | -0.250 |
| predicted_R | 0.704 | 1.000 | 1.000 | Hitting_R | 0.577 | 0.000 | 0.423 | 1.000 |
| predicted_RBI | 0.570 | 1.000 | 1.000 | Hitting_RBI | 0.431 | 0.000 | 0.569 | 1.000 |
| predicted_SLG | 0.486 | 1.000 | 0.200 | Hitting_SLG | 0.458 | 0.750 | 0.542 | 0.250 |
| predicted_SO | 1.130 | 1.000 | 1.000 | Hitting_SO | 1.301 | 1.000 | -0.301 | 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.6900 -> 4.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 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2550 -> 0.2720 (boost 0.0170, better) | predicted_AB: 4.6900 -> 4.4313 (deboost -0.2587, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3477 -> 0.3308 (deboost -0.0169, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.4313 -> 5.0000 (boost 0.5687, better) | predicted_BB: 0.3672 -> 0.0000 (deboost -0.3672, worse) | AB rounded to 5 (raw=4.69), rates preserved: AVG=0.260 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7224 -> 1.0000 (boost 0.2776, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4892 -> 0.2000 (deboost -0.2892, 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: 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.4892 (boost 0.2892, 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.278,
"predicted_3B": 0.0,
"predicted_AB": 4.69,
"predicted_AVG": 0.255,
"predicted_BB": 0.352,
"predicted_H": 1.2,
"predicted_HR": 0.22,
"predicted_OBP": 0.341,
"predicted_R": 0.704,
"predicted_RBI": 0.57,
"predicted_SLG": 0.486,
"predicted_SO": 1.13
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2613,
"predicted_3B": 0.0008,
"predicted_AB": 4.4313,
"predicted_AVG": 0.272,
"predicted_BB": 0.3633,
"predicted_H": 1.2017,
"predicted_HBP": 0.013,
"predicted_HR": 0.225,
"predicted_OBP": 0.3477,
"predicted_R": 0.7023,
"predicted_RBI": 0.5646,
"predicted_SLG": 0.5027,
"predicted_SO": 1.1049
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.278,
"after": 0.2613,
"delta": -0.0167,
"percent_delta": -0.0601,
"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.69,
"after": 4.4313,
"delta": -0.2587,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.272,
"delta": 0.017,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.3633,
"delta": 0.0113,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 1.2017,
"delta": 0.0017,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.225,
"delta": 0.005,
"percent_delta": 0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3477,
"delta": 0.0067,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.704,
"after": 0.7023,
"delta": -0.0017,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5646,
"delta": -0.0054,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.5027,
"delta": 0.0167,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.13,
"after": 1.1049,
"delta": -0.0251,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.272,
"delta": 0.017,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.69,
"after": 4.4313,
"delta": -0.2587,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 54
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2613,
"predicted_3B": 0.0008,
"predicted_AB": 4.4313,
"predicted_AVG": 0.2753,
"predicted_BB": 0.3672,
"predicted_H": 1.22,
"predicted_HBP": 0.013,
"predicted_HR": 0.2283,
"predicted_OBP": 0.3308,
"predicted_R": 0.7224,
"predicted_RBI": 0.5807,
"predicted_SLG": 0.4892,
"predicted_SO": 1.0931
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2613,
"after": 0.2613,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4313,
"after": 4.4313,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2753,
"delta": 0.0033,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3633,
"after": 0.3672,
"delta": 0.0039,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2017,
"after": 1.22,
"delta": 0.0183,
"percent_delta": 0.0152,
"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.225,
"after": 0.2283,
"delta": 0.0033,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3477,
"after": 0.3308,
"delta": -0.0169,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7023,
"after": 0.7224,
"delta": 0.0201,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5646,
"after": 0.5807,
"delta": 0.0161,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5027,
"after": 0.4892,
"delta": -0.0135,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1049,
"after": 1.0931,
"delta": -0.0118,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3477,
"after": 0.3308,
"delta": -0.0169,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.69), rates preserved: AVG=0.260 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2613,
"after": 0.0,
"delta": -0.2613,
"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.4313,
"after": 5.0,
"delta": 0.5687,
"percent_delta": 0.1283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3672,
"after": 0.0,
"delta": -0.3672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.0,
"delta": -0.22,
"percent_delta": -0.1803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2283,
"after": 0.0,
"delta": -0.2283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5807,
"after": 1.0,
"delta": 0.4193,
"percent_delta": 0.7221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0931,
"after": 1.0,
"delta": -0.0931,
"percent_delta": -0.0852,
"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.4313,
"after": 5.0,
"delta": 0.5687,
"percent_delta": 0.1283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3672,
"after": 0.0,
"delta": -0.3672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7224,
"after": 1.0,
"delta": 0.2776,
"percent_delta": 0.3843,
"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.7224,
"after": 1.0,
"delta": 0.2776,
"percent_delta": 0.3843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2753,
"after": 0.2,
"delta": -0.0753,
"percent_delta": -0.2735,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2,
"delta": -0.1308,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4892,
"after": 0.2,
"delta": -0.2892,
"percent_delta": -0.5912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4892,
"after": 0.2,
"delta": -0.2892,
"percent_delta": -0.5912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 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.2753,
"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.3308,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4892,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2753,
"delta": 0.0753,
"percent_delta": 0.3765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.3308,
"delta": 0.1308,
"percent_delta": 0.6538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4892,
"delta": 0.2892,
"percent_delta": 1.446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4892,
"delta": 0.2892,
"percent_delta": 1.446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.69,
"after": 4.0,
"delta": -0.69,
"percent_delta": -0.1471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2753,
"delta": 0.0203,
"percent_delta": 0.0796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2,
"after": 1.0,
"delta": -0.2,
"percent_delta": -0.1667,
"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.341,
"after": 0.3308,
"delta": -0.0102,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.704,
"after": 1.0,
"delta": 0.296,
"percent_delta": 0.4205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4892,
"delta": 0.0032,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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.69,
"after": 4.0,
"delta": -0.69,
"percent_delta": -0.1471,
"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.278 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.690 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.352 | - |
| predicted_H | 1.200 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.704 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.486 | - |
| predicted_SO | 1.130 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.261 | -0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.431 | -0.259 |
| predicted_AVG | 0.272 | 0.017 |
| predicted_BB | 0.363 | 0.011 |
| predicted_H | 1.202 | 0.002 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.225 | 0.005 |
| predicted_OBP | 0.348 | 0.007 |
| predicted_R | 0.702 | -0.002 |
| predicted_RBI | 0.565 | -0.005 |
| predicted_SLG | 0.503 | 0.017 |
| predicted_SO | 1.105 | -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.261 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.431 | 0.000 |
| predicted_AVG | 0.275 | 0.003 |
| predicted_BB | 0.367 | 0.004 |
| predicted_H | 1.220 | 0.018 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.228 | 0.003 |
| predicted_OBP | 0.331 | -0.017 |
| predicted_R | 0.722 | 0.020 |
| predicted_RBI | 0.581 | 0.016 |
| predicted_SLG | 0.489 | -0.014 |
| predicted_SO | 1.093 | -0.012 |
AB rounded to 5 (raw=4.69), rates preserved: AVG=0.260 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.261 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.569 |
| predicted_AVG | 0.200 | -0.075 |
| predicted_BB | 0.000 | -0.367 |
| predicted_H | 1.000 | -0.220 |
| predicted_HR | 0.000 | -0.228 |
| predicted_OBP | 0.200 | -0.131 |
| predicted_R | 1.000 | 0.278 |
| predicted_RBI | 1.000 | 0.419 |
| predicted_SLG | 0.200 | -0.289 |
| 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 | -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 | 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 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 5.000 | 0.3158 | 0.3810 | 0.5263 | 0.3158 | 0.0526 | 0.1053 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 2.000 | 0.000 | 3.000 | 5.000 | 7.000 | 5.000 | 11.000 | 0.3000 | 0.3778 | 0.5750 | 0.3000 | 0.0750 | 0.1250 | 0.1250 | 0.2750 |
| season | 0.60 | 54 | - | 229.000 | 68.000 | 15.000 | 0.000 | 13.000 | 35.000 | 38.000 | 19.000 | 61.000 | 0.2969 | 0.3520 | 0.5328 | 0.2969 | 0.0568 | 0.1528 | 0.0830 | 0.2664 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2380 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.0720 |
| predicted_AVG | 0.2956 |
| predicted_BB | 0.3790 |
| predicted_H | 1.2040 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.2320 |
| predicted_OBP | 0.3569 |
| predicted_R | 0.7000 |
| predicted_RBI | 0.5570 |
| predicted_SLG | 0.5260 |
| predicted_SO | 1.0700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2780 | 0.2380 | 0.2613 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.6900 | 4.0720 | 4.4313 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2956 | 0.2720 | model_form_blend |
| predicted_BB | 0.3520 | 0.3790 | 0.3633 | model_form_blend |
| predicted_H | 1.2000 | 1.2040 | 1.2017 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.2200 | 0.2320 | 0.2250 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3569 | 0.3477 | model_form_blend |
| predicted_R | 0.7040 | 0.7000 | 0.7023 | model_form_blend |
| predicted_RBI | 0.5700 | 0.5570 | 0.5646 | model_form_blend |
| predicted_SLG | 0.4860 | 0.5260 | 0.5027 | model_form_blend |
| predicted_SO | 1.1300 | 1.0700 | 1.1049 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 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 | LF |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.379 |
| sl_xwoba | 0.342 |
| sl_xba | 0.254 |
| sl_xslg | 0.487 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 15.0 |
| sl_hard_hit_percent | 47.0 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.241 | 0.000 | 0.000 | Hitting_2B | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_AB | 4.160 | 4.000 | 4.000 | Hitting_AB | 3.808 | 4.000 | 0.192 | 0.000 |
| predicted_AVG | 0.259 | 0.500 | 0.250 | Hitting_AVG | 0.284 | 0.250 | 0.216 | 0.250 |
| predicted_BB | 0.590 | 0.000 | 1.000 | Hitting_BB | 0.715 | 0.000 | -0.715 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 1.080 | 2.000 | 1.000 | Hitting_H | 1.081 | 1.000 | 0.919 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_OBP | 0.347 | 0.500 | 0.400 | Hitting_OBP | 0.395 | 0.250 | 0.105 | 0.250 |
| predicted_R | 0.747 | 1.000 | 1.000 | Hitting_R | 0.881 | 0.000 | 0.119 | 1.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.654 | 0.000 | -0.654 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_SLG | 0.449 | 0.500 | 0.250 | Hitting_SLG | 0.482 | 0.250 | 0.018 | 0.250 |
| predicted_SO | 1.145 | 0.000 | 1.000 | Hitting_SO | 1.069 | 0.000 | -1.069 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.0800 -> 2.0000 (boost 0.9200, better) |
| Biggest Deboost | predicted_SO: 1.1450 -> 0.0000 (deboost -1.1450, 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: 1.0800 -> 1.1477 (boost 0.0677, better) | predicted_BB: 0.5900 -> 0.5168 (deboost -0.0732, worse) | Final model input calibrated with local 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.3539 -> 0.3612 (boost 0.0073, better) | predicted_SLG: 0.4617 -> 0.4515 (deboost -0.0102, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.5223 -> 1.0000 (boost 0.4777, better) | predicted_2B: 0.2911 -> 0.0000 (deboost -0.2911, worse) | AB rounded to 4 (raw=4.16), rates preserved: AVG=0.280 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7248 -> 1.0000 (boost 0.2752, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3612 -> 0.4000 (boost 0.0388, better) | predicted_SLG: 0.4515 -> 0.2500 (deboost -0.2015, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_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.4515 (boost 0.2015, better) | predicted_OBP: 0.4000 -> 0.3612 (deboost -0.0388, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.241,
"predicted_3B": 0.036,
"predicted_AB": 4.16,
"predicted_AVG": 0.259,
"predicted_BB": 0.59,
"predicted_H": 1.08,
"predicted_HR": 0.12,
"predicted_OBP": 0.347,
"predicted_R": 0.747,
"predicted_RBI": 0.53,
"predicted_SLG": 0.449,
"predicted_SO": 1.145
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2911,
"predicted_3B": 0.0304,
"predicted_AB": 4.1493,
"predicted_AVG": 0.2763,
"predicted_BB": 0.5168,
"predicted_H": 1.1477,
"predicted_HBP": 0.003,
"predicted_HR": 0.117,
"predicted_OBP": 0.3539,
"predicted_R": 0.7046,
"predicted_RBI": 0.5467,
"predicted_SLG": 0.4617,
"predicted_SO": 1.0953
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.241,
"after": 0.2911,
"delta": 0.0501,
"percent_delta": 0.2079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0304,
"delta": -0.0056,
"percent_delta": -0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.16,
"after": 4.1493,
"delta": -0.0107,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2763,
"delta": 0.0173,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.59,
"after": 0.5168,
"delta": -0.0732,
"percent_delta": -0.1241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.1477,
"delta": 0.0677,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.117,
"delta": -0.003,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3539,
"delta": 0.0069,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.747,
"after": 0.7046,
"delta": -0.0424,
"percent_delta": -0.0568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5467,
"delta": 0.0167,
"percent_delta": 0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4617,
"delta": 0.0127,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.145,
"after": 1.0953,
"delta": -0.0497,
"percent_delta": -0.0434,
"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": 1.08,
"after": 1.1477,
"delta": 0.0677,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.59,
"after": 0.5168,
"delta": -0.0732,
"percent_delta": -0.1241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2911,
"predicted_3B": 0.0304,
"predicted_AB": 4.1493,
"predicted_AVG": 0.2808,
"predicted_BB": 0.5223,
"predicted_H": 1.1651,
"predicted_HBP": 0.003,
"predicted_HR": 0.1187,
"predicted_OBP": 0.3612,
"predicted_R": 0.7248,
"predicted_RBI": 0.5623,
"predicted_SLG": 0.4515,
"predicted_SO": 1.0836
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2911,
"after": 0.2911,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0304,
"after": 0.0304,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1493,
"after": 4.1493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2763,
"after": 0.2808,
"delta": 0.0045,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5168,
"after": 0.5223,
"delta": 0.0055,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1477,
"after": 1.1651,
"delta": 0.0174,
"percent_delta": 0.0152,
"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.117,
"after": 0.1187,
"delta": 0.0017,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3539,
"after": 0.3612,
"delta": 0.0073,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7046,
"after": 0.7248,
"delta": 0.0202,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5467,
"after": 0.5623,
"delta": 0.0156,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4617,
"after": 0.4515,
"delta": -0.0102,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0953,
"after": 1.0836,
"delta": -0.0117,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3539,
"after": 0.3612,
"delta": 0.0073,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4617,
"after": 0.4515,
"delta": -0.0102,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.16), rates preserved: AVG=0.280 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.2911,
"after": 0.0,
"delta": -0.2911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0304,
"after": 0.0,
"delta": -0.0304,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1493,
"after": 4.0,
"delta": -0.1493,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5223,
"after": 1.0,
"delta": 0.4777,
"percent_delta": 0.9146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1651,
"after": 1.0,
"delta": -0.1651,
"percent_delta": -0.1417,
"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.1187,
"after": 0.0,
"delta": -0.1187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5623,
"after": 1.0,
"delta": 0.4377,
"percent_delta": 0.7784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0836,
"after": 1.0,
"delta": -0.0836,
"percent_delta": -0.0772,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5223,
"after": 1.0,
"delta": 0.4777,
"percent_delta": 0.9146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2911,
"after": 0.0,
"delta": -0.2911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7248,
"after": 1.0,
"delta": 0.2752,
"percent_delta": 0.3797,
"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.7248,
"after": 1.0,
"delta": 0.2752,
"percent_delta": 0.3797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2808,
"after": 0.25,
"delta": -0.0308,
"percent_delta": -0.1097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3612,
"after": 0.4,
"delta": 0.0388,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4515,
"after": 0.25,
"delta": -0.2015,
"percent_delta": -0.4463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3612,
"after": 0.4,
"delta": 0.0388,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4515,
"after": 0.25,
"delta": -0.2015,
"percent_delta": -0.4463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2808,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3612,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4515,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2808,
"delta": 0.0308,
"percent_delta": 0.1232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3612,
"delta": -0.0388,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4515,
"delta": 0.2015,
"percent_delta": 0.8058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4515,
"delta": 0.2015,
"percent_delta": 0.8058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3612,
"delta": -0.0388,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.241,
"after": 0.0,
"delta": -0.241,
"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": 4.16,
"after": 4.0,
"delta": -0.16,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2808,
"delta": 0.0218,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 2.0,
"delta": 0.92,
"percent_delta": 0.8519,
"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.347,
"after": 0.3612,
"delta": 0.0142,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.747,
"after": 1.0,
"delta": 0.253,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4515,
"delta": 0.0025,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.145,
"after": 0.0,
"delta": -1.145,
"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": 1.08,
"after": 2.0,
"delta": 0.92,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.145,
"after": 0.0,
"delta": -1.145,
"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.241 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 4.160 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.590 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.747 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 1.145 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.291 | 0.050 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 4.149 | -0.011 |
| predicted_AVG | 0.276 | 0.017 |
| predicted_BB | 0.517 | -0.073 |
| predicted_H | 1.148 | 0.068 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.117 | -0.003 |
| predicted_OBP | 0.354 | 0.007 |
| predicted_R | 0.705 | -0.042 |
| predicted_RBI | 0.547 | 0.017 |
| predicted_SLG | 0.462 | 0.013 |
| predicted_SO | 1.095 | -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.291 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 4.149 | 0.000 |
| predicted_AVG | 0.281 | 0.005 |
| predicted_BB | 0.522 | 0.005 |
| predicted_H | 1.165 | 0.017 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.119 | 0.002 |
| predicted_OBP | 0.361 | 0.007 |
| predicted_R | 0.725 | 0.020 |
| predicted_RBI | 0.562 | 0.016 |
| predicted_SLG | 0.452 | -0.010 |
| predicted_SO | 1.084 | -0.012 |
AB rounded to 4 (raw=4.16), rates preserved: AVG=0.280 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.291 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 4.000 | -0.149 |
| predicted_AVG | 0.250 | -0.031 |
| predicted_BB | 1.000 | 0.478 |
| predicted_H | 1.000 | -0.165 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.400 | 0.039 |
| predicted_R | 1.000 | 0.275 |
| predicted_RBI | 1.000 | 0.438 |
| predicted_SLG | 0.250 | -0.202 |
| predicted_SO | 1.000 | -0.084 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 9.000 | 4.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 3.000 | 0.3913 | 0.4167 | 0.5652 | 0.3913 | 0.0000 | 0.1304 | 0.0435 | 0.1304 |
| last_10 | 0.20 | 10 | - | 45.000 | 14.000 | 4.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 11.000 | 0.3111 | 0.3261 | 0.4667 | 0.3111 | 0.0222 | 0.0889 | 0.0222 | 0.2444 |
| season | 0.60 | 83 | - | 324.000 | 88.000 | 20.000 | 3.000 | 12.000 | 51.000 | 62.000 | 49.000 | 95.000 | 0.2716 | 0.3653 | 0.4630 | 0.2716 | 0.0370 | 0.1574 | 0.1512 | 0.2932 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3580 |
| predicted_3B | 0.0230 |
| predicted_AB | 4.1350 |
| predicted_AVG | 0.2993 |
| predicted_BB | 0.4190 |
| predicted_H | 1.2380 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1130 |
| predicted_OBP | 0.3632 |
| predicted_R | 0.6480 |
| predicted_RBI | 0.5690 |
| predicted_SLG | 0.4786 |
| predicted_SO | 1.0290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2410 | 0.3580 | 0.2911 | model_form_blend |
| predicted_3B | 0.0360 | 0.0230 | 0.0304 | model_form_blend |
| predicted_AB | 4.1600 | 4.1350 | 4.1493 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2993 | 0.2763 | model_form_blend |
| predicted_BB | 0.5900 | 0.4190 | 0.5168 | model_form_blend |
| predicted_H | 1.0800 | 1.2380 | 1.1477 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1200 | 0.1130 | 0.1170 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3632 | 0.3539 | model_form_blend |
| predicted_R | 0.7470 | 0.6480 | 0.7046 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5690 | 0.5467 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4786 | 0.4617 | model_form_blend |
| predicted_SO | 1.1450 | 1.0290 | 1.0953 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 260 |
| Season rows before report date | 260 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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.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 | 2B |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.357 |
| sl_xwoba | 0.346 |
| sl_xba | 0.256 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 6.9 |
| sl_whiff_percent | 22.0 |
| 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.146 | 0.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.130 | 4.000 | 4.000 | Hitting_AB | 4.004 | 5.000 | -0.004 | -1.000 |
| predicted_AVG | 0.256 | 0.250 | 0.250 | Hitting_AVG | 0.299 | 0.400 | -0.049 | -0.150 |
| predicted_BB | 0.366 | 0.000 | 0.000 | Hitting_BB | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.060 | 1.000 | 1.000 | Hitting_H | 1.196 | 2.000 | -0.196 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.334 | 0.250 | 0.250 | Hitting_OBP | 0.368 | 0.400 | -0.118 | -0.150 |
| predicted_R | 0.573 | 1.000 | 1.000 | Hitting_R | 0.612 | 0.000 | 0.388 | 1.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.684 | 0.000 | -0.684 | 0.000 |
| predicted_SLG | 0.405 | 0.250 | 0.250 | Hitting_SLG | 0.410 | 0.400 | -0.160 | -0.150 |
| predicted_SO | 0.585 | 0.000 | 1.000 | Hitting_SO | 0.544 | 1.000 | -0.544 | -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_R: 0.5730 -> 1.0000 (boost 0.4270, better) |
| Biggest Deboost | predicted_SO: 0.5850 -> 0.0000 (deboost -0.5850, 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.2560 -> 0.2686 (boost 0.0126, better) | predicted_AB: 4.1300 -> 4.0744 (deboost -0.0556, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3388 -> 0.3283 (deboost -0.0105, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_RBI: 0.5298 -> 1.0000 (boost 0.4702, better) | predicted_BB: 0.3363 -> 0.0000 (deboost -0.3363, worse) | AB rounded to 4 (raw=4.13), rates preserved: AVG=0.269 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5467 -> 1.0000 (boost 0.4533, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3912 -> 0.2500 (deboost -0.1412, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3912 (boost 0.1412, 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.146,
"predicted_3B": 0.0,
"predicted_AB": 4.13,
"predicted_AVG": 0.256,
"predicted_BB": 0.366,
"predicted_H": 1.06,
"predicted_HR": 0.12,
"predicted_OBP": 0.334,
"predicted_R": 0.573,
"predicted_RBI": 0.51,
"predicted_SLG": 0.405,
"predicted_SO": 0.585
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1251,
"predicted_3B": 0.0004,
"predicted_AB": 4.0744,
"predicted_AVG": 0.2686,
"predicted_BB": 0.3327,
"predicted_H": 1.0951,
"predicted_HBP": 0.095,
"predicted_HR": 0.117,
"predicted_OBP": 0.3388,
"predicted_R": 0.5315,
"predicted_RBI": 0.5151,
"predicted_SLG": 0.4007,
"predicted_SO": 0.5978
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.1251,
"delta": -0.0209,
"percent_delta": -0.1432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0744,
"delta": -0.0556,
"percent_delta": -0.0135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2686,
"delta": 0.0126,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.366,
"after": 0.3327,
"delta": -0.0333,
"percent_delta": -0.091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0951,
"delta": 0.0351,
"percent_delta": 0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.117,
"delta": -0.003,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3388,
"delta": 0.0048,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.5315,
"delta": -0.0415,
"percent_delta": -0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5151,
"delta": 0.0051,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4007,
"delta": -0.0043,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.585,
"after": 0.5978,
"delta": 0.0128,
"percent_delta": 0.0219,
"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.256,
"after": 0.2686,
"delta": 0.0126,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0744,
"delta": -0.0556,
"percent_delta": -0.0135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1251,
"predicted_3B": 0.0004,
"predicted_AB": 4.0744,
"predicted_AVG": 0.2729,
"predicted_BB": 0.3363,
"predicted_H": 1.1117,
"predicted_HBP": 0.095,
"predicted_HR": 0.1187,
"predicted_OBP": 0.3283,
"predicted_R": 0.5467,
"predicted_RBI": 0.5298,
"predicted_SLG": 0.3912,
"predicted_SO": 0.5914
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1251,
"after": 0.1251,
"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.0744,
"after": 4.0744,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2686,
"after": 0.2729,
"delta": 0.0043,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3327,
"after": 0.3363,
"delta": 0.0036,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0951,
"after": 1.1117,
"delta": 0.0166,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.117,
"after": 0.1187,
"delta": 0.0017,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3388,
"after": 0.3283,
"delta": -0.0105,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5315,
"after": 0.5467,
"delta": 0.0152,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5151,
"after": 0.5298,
"delta": 0.0147,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4007,
"after": 0.3912,
"delta": -0.0095,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5978,
"after": 0.5914,
"delta": -0.0064,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3388,
"after": 0.3283,
"delta": -0.0105,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.269 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.1251,
"after": 0.0,
"delta": -0.1251,
"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.0744,
"after": 4.0,
"delta": -0.0744,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3363,
"after": 0.0,
"delta": -0.3363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1117,
"after": 1.0,
"delta": -0.1117,
"percent_delta": -0.1005,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1187,
"after": 0.0,
"delta": -0.1187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5298,
"after": 1.0,
"delta": 0.4702,
"percent_delta": 0.8875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5914,
"after": 1.0,
"delta": 0.4086,
"percent_delta": 0.6909,
"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.5298,
"after": 1.0,
"delta": 0.4702,
"percent_delta": 0.8875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3363,
"after": 0.0,
"delta": -0.3363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5467,
"after": 1.0,
"delta": 0.4533,
"percent_delta": 0.8292,
"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.5467,
"after": 1.0,
"delta": 0.4533,
"percent_delta": 0.8292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2729,
"after": 0.25,
"delta": -0.0229,
"percent_delta": -0.0839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3283,
"after": 0.25,
"delta": -0.0783,
"percent_delta": -0.2385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3912,
"after": 0.25,
"delta": -0.1412,
"percent_delta": -0.3609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3912,
"after": 0.25,
"delta": -0.1412,
"percent_delta": -0.3609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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.2729,
"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.3283,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3912,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2729,
"delta": 0.0229,
"percent_delta": 0.0914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3283,
"delta": 0.0783,
"percent_delta": 0.3132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3912,
"delta": 0.1412,
"percent_delta": 0.5647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3912,
"delta": 0.1412,
"percent_delta": 0.5647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0,
"delta": -0.13,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2729,
"delta": 0.0169,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.366,
"after": 0.0,
"delta": -0.366,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3283,
"delta": -0.0057,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 1.0,
"delta": 0.427,
"percent_delta": 0.7452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3912,
"delta": -0.0138,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"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_R",
"before": 0.573,
"after": 1.0,
"delta": 0.427,
"percent_delta": 0.7452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.366 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.573 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.585 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | -0.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.074 | -0.056 |
| predicted_AVG | 0.269 | 0.013 |
| predicted_BB | 0.333 | -0.033 |
| predicted_H | 1.095 | 0.035 |
| predicted_HBP | 0.095 | - |
| predicted_HR | 0.117 | -0.003 |
| predicted_OBP | 0.339 | 0.005 |
| predicted_R | 0.531 | -0.041 |
| predicted_RBI | 0.515 | 0.005 |
| predicted_SLG | 0.401 | -0.004 |
| predicted_SO | 0.598 | 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.125 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.074 | 0.000 |
| predicted_AVG | 0.273 | 0.004 |
| predicted_BB | 0.336 | 0.004 |
| predicted_H | 1.112 | 0.017 |
| predicted_HBP | 0.095 | 0.000 |
| predicted_HR | 0.119 | 0.002 |
| predicted_OBP | 0.328 | -0.011 |
| predicted_R | 0.547 | 0.015 |
| predicted_RBI | 0.530 | 0.015 |
| predicted_SLG | 0.391 | -0.010 |
| predicted_SO | 0.591 | -0.006 |
AB rounded to 4 (raw=4.13), rates preserved: AVG=0.269 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.125 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.074 |
| predicted_AVG | 0.250 | -0.023 |
| predicted_BB | 0.000 | -0.336 |
| predicted_H | 1.000 | -0.112 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.453 |
| predicted_RBI | 1.000 | 0.470 |
| predicted_SLG | 0.250 | -0.141 |
| predicted_SO | 1.000 | 0.409 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 3.000 | 0.2609 | 0.2917 | 0.2609 | 0.2609 | 0.0000 | 0.0435 | 0.0000 | 0.1304 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 3.000 | 6.000 | 0.2973 | 0.3810 | 0.4595 | 0.2973 | 0.0541 | 0.1351 | 0.0811 | 0.1622 |
| season | 0.60 | 82 | - | 322.000 | 95.000 | 12.000 | 0.000 | 9.000 | 51.000 | 47.000 | 30.000 | 48.000 | 0.2950 | 0.3565 | 0.4161 | 0.2950 | 0.0279 | 0.1584 | 0.0932 | 0.1491 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0970 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0000 |
| predicted_AVG | 0.2855 |
| predicted_BB | 0.2880 |
| predicted_H | 1.1420 |
| predicted_HBP | 0.0950 |
| predicted_HR | 0.1130 |
| predicted_OBP | 0.3452 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.5220 |
| predicted_SLG | 0.3949 |
| predicted_SO | 0.6150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.0970 | 0.1251 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1300 | 4.0000 | 4.0744 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2855 | 0.2686 | model_form_blend |
| predicted_BB | 0.3660 | 0.2880 | 0.3327 | model_form_blend |
| predicted_H | 1.0600 | 1.1420 | 1.0951 | model_form_blend |
| predicted_HBP | - | 0.0950 | 0.0950 | form_only |
| predicted_HR | 0.1200 | 0.1130 | 0.1170 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3452 | 0.3388 | model_form_blend |
| predicted_R | 0.5730 | 0.4760 | 0.5315 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5220 | 0.5151 | model_form_blend |
| predicted_SLG | 0.4050 | 0.3949 | 0.4007 | model_form_blend |
| predicted_SO | 0.5850 | 0.6150 | 0.5978 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 250 |
| Season rows before report date | 250 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.295 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260704_MIL@ARI |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-04 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.34 |
| sl_xwoba | 0.346 |
| sl_xba | 0.281 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 44.2 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 0.000 | 0.000 | Hitting_2B | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 4.000 | Hitting_AB | 3.693 | 4.000 | 0.307 | 0.000 |
| predicted_AVG | 0.248 | 0.250 | 0.250 | Hitting_AVG | 0.281 | 0.250 | -0.031 | 0.000 |
| predicted_BB | 0.481 | 0.000 | 0.000 | Hitting_BB | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 1.038 | 1.000 | -0.038 | 0.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.198 | 1.000 | 0.802 | 0.000 |
| predicted_OBP | 0.308 | 0.250 | 0.250 | Hitting_OBP | 0.361 | 0.250 | -0.111 | 0.000 |
| predicted_R | 0.662 | 1.000 | 1.000 | Hitting_R | 0.693 | 1.000 | 0.307 | 0.000 |
| predicted_RBI | 0.590 | 2.000 | 1.000 | Hitting_RBI | 0.712 | 2.000 | 1.288 | 0.000 |
| predicted_SLG | 0.442 | 1.000 | 0.250 | Hitting_SLG | 0.497 | 1.000 | 0.503 | 0.000 |
| predicted_SO | 1.039 | 0.000 | 1.000 | Hitting_SO | 0.962 | 0.000 | -0.962 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.5900 -> 2.0000 (boost 1.4100, better) |
| Biggest Deboost | predicted_SO: 1.0390 -> 0.0000 (deboost -1.0390, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AB: 3.5000 -> 3.5611 (boost 0.0611, better) | predicted_BB: 0.4810 -> 0.4195 (deboost -0.0615, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3080 -> 0.3306 (boost 0.0226, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_AB: 3.5611 -> 4.0000 (boost 0.4389, better) | predicted_BB: 0.4240 -> 0.0000 (deboost -0.4240, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.251 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6535 -> 1.0000 (boost 0.3465, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4602 -> 0.2500 (deboost -0.2102, 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_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4602 (boost 0.2102, better) | - | 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.169,
"predicted_3B": 0.013,
"predicted_AB": 3.5,
"predicted_AVG": 0.248,
"predicted_BB": 0.481,
"predicted_H": 0.87,
"predicted_HR": 0.17,
"predicted_OBP": 0.308,
"predicted_R": 0.662,
"predicted_RBI": 0.59,
"predicted_SLG": 0.442,
"predicted_SO": 1.039
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0113,
"predicted_AB": 3.5611,
"predicted_AVG": 0.2469,
"predicted_BB": 0.4195,
"predicted_H": 0.8802,
"predicted_HBP": 0.025,
"predicted_HR": 0.1827,
"predicted_OBP": 0.308,
"predicted_R": 0.6353,
"predicted_RBI": 0.6294,
"predicted_SLG": 0.4493,
"predicted_SO": 1.0717
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1665,
"delta": -0.0025,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0113,
"delta": -0.0017,
"percent_delta": -0.1308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 3.5611,
"delta": 0.0611,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2469,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.481,
"after": 0.4195,
"delta": -0.0615,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8802,
"delta": 0.0102,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1827,
"delta": 0.0127,
"percent_delta": 0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.308,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.662,
"after": 0.6353,
"delta": -0.0267,
"percent_delta": -0.0403,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6294,
"delta": 0.0394,
"percent_delta": 0.0668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4493,
"delta": 0.0073,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.039,
"after": 1.0717,
"delta": 0.0327,
"percent_delta": 0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 3.5611,
"delta": 0.0611,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.481,
"after": 0.4195,
"delta": -0.0615,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1665,
"predicted_3B": 0.0113,
"predicted_AB": 3.5611,
"predicted_AVG": 0.2509,
"predicted_BB": 0.424,
"predicted_H": 0.8936,
"predicted_HBP": 0.025,
"predicted_HR": 0.1854,
"predicted_OBP": 0.3306,
"predicted_R": 0.6535,
"predicted_RBI": 0.6474,
"predicted_SLG": 0.4602,
"predicted_SO": 1.0602
},
"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.0113,
"after": 0.0113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5611,
"after": 3.5611,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2469,
"after": 0.2509,
"delta": 0.004,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4195,
"after": 0.424,
"delta": 0.0045,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8802,
"after": 0.8936,
"delta": 0.0134,
"percent_delta": 0.0152,
"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.1827,
"after": 0.1854,
"delta": 0.0027,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3306,
"delta": 0.0226,
"percent_delta": 0.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6353,
"after": 0.6535,
"delta": 0.0182,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6294,
"after": 0.6474,
"delta": 0.018,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4493,
"after": 0.4602,
"delta": 0.0109,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0717,
"after": 1.0602,
"delta": -0.0115,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3306,
"delta": 0.0226,
"percent_delta": 0.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.251 HR/AB=0.052",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1665,
"after": 0.0,
"delta": -0.1665,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0,
"delta": -0.0113,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5611,
"after": 4.0,
"delta": 0.4389,
"percent_delta": 0.1232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8936,
"after": 1.0,
"delta": 0.1064,
"percent_delta": 0.1191,
"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.1854,
"after": 0.0,
"delta": -0.1854,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6474,
"after": 1.0,
"delta": 0.3526,
"percent_delta": 0.5446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0602,
"after": 1.0,
"delta": -0.0602,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5611,
"after": 4.0,
"delta": 0.4389,
"percent_delta": 0.1232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6535,
"after": 1.0,
"delta": 0.3465,
"percent_delta": 0.5302,
"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.6535,
"after": 1.0,
"delta": 0.3465,
"percent_delta": 0.5302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2509,
"after": 0.25,
"delta": -0.0009,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3306,
"after": 0.25,
"delta": -0.0806,
"percent_delta": -0.2438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4602,
"after": 0.25,
"delta": -0.2102,
"percent_delta": -0.4568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4602,
"after": 0.25,
"delta": -0.2102,
"percent_delta": -0.4568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2509,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3306,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4602,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2509,
"delta": 0.0009,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3306,
"delta": 0.0806,
"percent_delta": 0.3225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4602,
"delta": 0.2102,
"percent_delta": 0.8408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.4602,
"delta": 0.2102,
"percent_delta": 0.8408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"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.248,
"after": 0.2509,
"delta": 0.0029,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"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.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3306,
"delta": 0.0226,
"percent_delta": 0.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.662,
"after": 1.0,
"delta": 0.338,
"percent_delta": 0.5106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4602,
"delta": 0.0182,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.039,
"after": 0.0,
"delta": -1.039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.039,
"after": 0.0,
"delta": -1.039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.481 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.662 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 1.039 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.561 | 0.061 |
| predicted_AVG | 0.247 | -0.001 |
| predicted_BB | 0.419 | -0.061 |
| predicted_H | 0.880 | 0.010 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.183 | 0.013 |
| predicted_OBP | 0.308 | 0.000 |
| predicted_R | 0.635 | -0.027 |
| predicted_RBI | 0.629 | 0.039 |
| predicted_SLG | 0.449 | 0.007 |
| predicted_SO | 1.072 | 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.167 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.561 | 0.000 |
| predicted_AVG | 0.251 | 0.004 |
| predicted_BB | 0.424 | 0.005 |
| predicted_H | 0.894 | 0.013 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.185 | 0.003 |
| predicted_OBP | 0.331 | 0.023 |
| predicted_R | 0.653 | 0.018 |
| predicted_RBI | 0.647 | 0.018 |
| predicted_SLG | 0.460 | 0.011 |
| predicted_SO | 1.060 | -0.012 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.251 HR/AB=0.052
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.167 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.439 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.424 |
| predicted_H | 1.000 | 0.106 |
| predicted_HR | 0.000 | -0.185 |
| predicted_OBP | 0.250 | -0.081 |
| predicted_R | 1.000 | 0.347 |
| predicted_RBI | 1.000 | 0.353 |
| predicted_SLG | 0.250 | -0.210 |
| predicted_SO | 1.000 | -0.060 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 7.000 | 0.1905 | 0.1905 | 0.3810 | 0.1905 | 0.0476 | 0.1905 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 1.000 | 0.000 | 2.000 | 6.000 | 6.000 | 2.000 | 12.000 | 0.2286 | 0.2632 | 0.4286 | 0.2286 | 0.0571 | 0.1714 | 0.0571 | 0.3429 |
| season | 0.60 | 77 | - | 268.000 | 72.000 | 13.000 | 1.000 | 16.000 | 54.000 | 51.000 | 37.000 | 80.000 | 0.2687 | 0.3625 | 0.5037 | 0.2687 | 0.0597 | 0.2015 | 0.1381 | 0.2985 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6440 |
| predicted_AVG | 0.2453 |
| predicted_BB | 0.3360 |
| predicted_H | 0.8940 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.2000 |
| predicted_OBP | 0.3081 |
| predicted_R | 0.5990 |
| predicted_RBI | 0.6830 |
| predicted_SLG | 0.4593 |
| predicted_SO | 1.1160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1630 | 0.1665 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 3.5000 | 3.6440 | 3.5611 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2453 | 0.2469 | model_form_blend |
| predicted_BB | 0.4810 | 0.3360 | 0.4195 | model_form_blend |
| predicted_H | 0.8700 | 0.8940 | 0.8802 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1700 | 0.2000 | 0.1827 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3081 | 0.3080 | model_form_blend |
| predicted_R | 0.6620 | 0.5990 | 0.6353 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6830 | 0.6294 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4593 | 0.4493 | model_form_blend |
| predicted_SO | 1.0390 | 1.1160 | 1.0717 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 212 |
| Season rows before report date | 212 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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-1B |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.371 |
| sl_xwoba | 0.357 |
| sl_xba | 0.257 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 53.4 |
| sl_exit_velocity_avg | 92.6 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 41.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.219 | 0.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_3B | 0.041 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.260 | 3.000 | 3.000 | Hitting_AB | 3.407 | 4.000 | -0.407 | -1.000 |
| predicted_AVG | 0.280 | 0.667 | 0.333 | Hitting_AVG | 0.252 | 0.000 | 0.414 | 0.667 |
| predicted_BB | 0.425 | 1.000 | 0.000 | Hitting_BB | 0.543 | 0.000 | 0.457 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_H | 0.860 | 2.000 | 1.000 | Hitting_H | 0.859 | 0.000 | 1.141 | 2.000 |
| predicted_HR | 0.160 | 1.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | 0.940 | 1.000 |
| predicted_OBP | 0.358 | 0.750 | 0.333 | Hitting_OBP | 0.357 | 0.000 | 0.393 | 0.750 |
| predicted_R | 0.479 | 1.000 | 1.000 | Hitting_R | 0.492 | 0.000 | 0.508 | 1.000 |
| predicted_RBI | 0.500 | 2.000 | 0.000 | Hitting_RBI | 0.603 | 0.000 | 1.397 | 2.000 |
| predicted_SLG | 0.526 | 1.667 | 0.333 | Hitting_SLG | 0.394 | 0.000 | 1.273 | 1.667 |
| predicted_SO | 1.260 | 0.000 | 1.000 | Hitting_SO | 1.317 | 3.000 | -1.317 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.5000 -> 2.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_SO: 1.2600 -> 0.0000 (deboost -1.2600, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 6 | 0 | predicted_H: 0.8600 -> 0.9396 (boost 0.0796, better) | predicted_SO: 1.2600 -> 1.2011 (deboost -0.0589, better) | Final model input calibrated with local 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.5577 -> 0.5524 (deboost -0.0053, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_RBI: 0.5502 -> 0.0000 (deboost -0.5502, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.287 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5048 -> 1.0000 (boost 0.4952, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2868 -> 0.3330 (boost 0.0462, better) | predicted_SLG: 0.5524 -> 0.3330 (deboost -0.2194, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.5524 (boost 0.2194, better) | predicted_AVG: 0.3330 -> 0.2868 (deboost -0.0462, 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.219,
"predicted_3B": 0.041,
"predicted_AB": 3.26,
"predicted_AVG": 0.28,
"predicted_BB": 0.425,
"predicted_H": 0.86,
"predicted_HR": 0.16,
"predicted_OBP": 0.358,
"predicted_R": 0.479,
"predicted_RBI": 0.5,
"predicted_SLG": 0.526,
"predicted_SO": 1.26
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2506,
"predicted_3B": 0.0557,
"predicted_AB": 3.3265,
"predicted_AVG": 0.2913,
"predicted_BB": 0.4082,
"predicted_H": 0.9396,
"predicted_HBP": 0.018,
"predicted_HR": 0.1714,
"predicted_OBP": 0.3673,
"predicted_R": 0.4908,
"predicted_RBI": 0.5349,
"predicted_SLG": 0.5577,
"predicted_SO": 1.2011
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 0.2506,
"delta": 0.0316,
"percent_delta": 0.1443,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0557,
"delta": 0.0147,
"percent_delta": 0.3585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.26,
"after": 3.3265,
"delta": 0.0665,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.2913,
"delta": 0.0113,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 0.4082,
"delta": -0.0168,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.9396,
"delta": 0.0796,
"percent_delta": 0.0926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.358,
"after": 0.3673,
"delta": 0.0093,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.479,
"after": 0.4908,
"delta": 0.0118,
"percent_delta": 0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5349,
"delta": 0.0349,
"percent_delta": 0.0698,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.5577,
"delta": 0.0317,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.26,
"after": 1.2011,
"delta": -0.0589,
"percent_delta": -0.0467,
"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.86,
"after": 0.9396,
"delta": 0.0796,
"percent_delta": 0.0926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.26,
"after": 1.2011,
"delta": -0.0589,
"percent_delta": -0.0467,
"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.2506,
"predicted_3B": 0.0557,
"predicted_AB": 3.3265,
"predicted_AVG": 0.2868,
"predicted_BB": 0.4126,
"predicted_H": 0.9539,
"predicted_HBP": 0.018,
"predicted_HR": 0.1739,
"predicted_OBP": 0.3655,
"predicted_R": 0.5048,
"predicted_RBI": 0.5502,
"predicted_SLG": 0.5524,
"predicted_SO": 1.1882
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2506,
"after": 0.2506,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0557,
"after": 0.0557,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3265,
"after": 3.3265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2913,
"after": 0.2868,
"delta": -0.0045,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4082,
"after": 0.4126,
"delta": 0.0044,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9396,
"after": 0.9539,
"delta": 0.0143,
"percent_delta": 0.0152,
"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.1714,
"after": 0.1739,
"delta": 0.0025,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3673,
"after": 0.3655,
"delta": -0.0018,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4908,
"after": 0.5048,
"delta": 0.014,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5349,
"after": 0.5502,
"delta": 0.0153,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5577,
"after": 0.5524,
"delta": -0.0053,
"percent_delta": -0.0095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2011,
"after": 1.1882,
"delta": -0.0129,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5577,
"after": 0.5524,
"delta": -0.0053,
"percent_delta": -0.0095,
"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.287 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.2506,
"after": 0.0,
"delta": -0.2506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0557,
"after": 0.0,
"delta": -0.0557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3265,
"after": 3.0,
"delta": -0.3265,
"percent_delta": -0.0982,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4126,
"after": 0.0,
"delta": -0.4126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9539,
"after": 1.0,
"delta": 0.0461,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1739,
"after": 0.0,
"delta": -0.1739,
"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": 1.1882,
"after": 1.0,
"delta": -0.1882,
"percent_delta": -0.1584,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.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": 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.5048,
"after": 1.0,
"delta": 0.4952,
"percent_delta": 0.981,
"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.5048,
"after": 1.0,
"delta": 0.4952,
"percent_delta": 0.981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2868,
"after": 0.333,
"delta": 0.0462,
"percent_delta": 0.1611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3655,
"after": 0.333,
"delta": -0.0325,
"percent_delta": -0.0889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5524,
"after": 0.333,
"delta": -0.2194,
"percent_delta": -0.3972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2868,
"after": 0.333,
"delta": 0.0462,
"percent_delta": 0.1611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5524,
"after": 0.333,
"delta": -0.2194,
"percent_delta": -0.3972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2868,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3655,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5524,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2868,
"delta": -0.0462,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3655,
"delta": 0.0325,
"percent_delta": 0.0975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.5524,
"delta": 0.2194,
"percent_delta": 0.6589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.5524,
"delta": 0.2194,
"percent_delta": 0.6589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2868,
"delta": -0.0462,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 0.0,
"delta": -0.219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.26,
"after": 3.0,
"delta": -0.26,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.2868,
"delta": 0.0068,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 1.0,
"delta": 0.575,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 2.0,
"delta": 1.14,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3655,
"delta": 0.0075,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.479,
"after": 1.0,
"delta": 0.521,
"percent_delta": 1.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.5524,
"delta": 0.0264,
"percent_delta": 0.0502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.26,
"after": 0.0,
"delta": -1.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.26,
"after": 0.0,
"delta": -1.26,
"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.219 | - |
| predicted_3B | 0.041 | - |
| predicted_AB | 3.260 | - |
| predicted_AVG | 0.280 | - |
| predicted_BB | 0.425 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.479 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.526 | - |
| predicted_SO | 1.260 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.251 | 0.032 |
| predicted_3B | 0.056 | 0.015 |
| predicted_AB | 3.326 | 0.067 |
| predicted_AVG | 0.291 | 0.011 |
| predicted_BB | 0.408 | -0.017 |
| predicted_H | 0.940 | 0.080 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.171 | 0.011 |
| predicted_OBP | 0.367 | 0.009 |
| predicted_R | 0.491 | 0.012 |
| predicted_RBI | 0.535 | 0.035 |
| predicted_SLG | 0.558 | 0.032 |
| predicted_SO | 1.201 | -0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.251 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 3.326 | 0.000 |
| predicted_AVG | 0.287 | -0.005 |
| predicted_BB | 0.413 | 0.004 |
| predicted_H | 0.954 | 0.014 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.174 | 0.003 |
| predicted_OBP | 0.365 | -0.002 |
| predicted_R | 0.505 | 0.014 |
| predicted_RBI | 0.550 | 0.015 |
| predicted_SLG | 0.552 | -0.005 |
| predicted_SO | 1.188 | -0.013 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.287 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 | - |
Enforced H<=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.251 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 3.000 | -0.326 |
| predicted_AVG | 0.333 | 0.046 |
| predicted_BB | 0.000 | -0.413 |
| predicted_H | 1.000 | 0.046 |
| predicted_HR | 0.000 | -0.174 |
| predicted_OBP | 0.333 | -0.032 |
| predicted_R | 1.000 | 0.495 |
| predicted_RBI | 0.000 | -0.550 |
| predicted_SLG | 0.333 | -0.219 |
| predicted_SO | 1.000 | -0.188 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 8.000 | 3.000 | 1.000 | 2.000 | 4.000 | 3.000 | 2.000 | 5.000 | 0.4211 | 0.4762 | 1.0000 | 0.4210 | 0.1053 | 0.2105 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 33.000 | 12.000 | 3.000 | 1.000 | 3.000 | 7.000 | 5.000 | 3.000 | 9.000 | 0.3636 | 0.4167 | 0.7879 | 0.3636 | 0.0909 | 0.2121 | 0.0909 | 0.2727 |
| season | 0.60 | 73 | - | 238.000 | 62.000 | 16.000 | 3.000 | 7.000 | 36.000 | 35.000 | 31.000 | 92.000 | 0.2605 | 0.3493 | 0.4412 | 0.2605 | 0.0294 | 0.1513 | 0.1303 | 0.3866 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2940 |
| predicted_3B | 0.0760 |
| predicted_AB | 3.4180 |
| predicted_AVG | 0.3068 |
| predicted_BB | 0.3850 |
| predicted_H | 1.0490 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.3800 |
| predicted_R | 0.5070 |
| predicted_RBI | 0.5830 |
| predicted_SLG | 0.6012 |
| predicted_SO | 1.1200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2190 | 0.2940 | 0.2506 | model_form_blend |
| predicted_3B | 0.0410 | 0.0760 | 0.0557 | model_form_blend |
| predicted_AB | 3.2600 | 3.4180 | 3.3265 | model_form_blend |
| predicted_AVG | 0.2800 | 0.3068 | 0.2913 | model_form_blend |
| predicted_BB | 0.4250 | 0.3850 | 0.4082 | model_form_blend |
| predicted_H | 0.8600 | 1.0490 | 0.9396 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1600 | 0.1870 | 0.1714 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3800 | 0.3673 | model_form_blend |
| predicted_R | 0.4790 | 0.5070 | 0.4908 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5830 | 0.5349 | model_form_blend |
| predicted_SLG | 0.5260 | 0.6012 | 0.5577 | model_form_blend |
| predicted_SO | 1.2600 | 1.1200 | 1.2011 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| 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 | 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 | CF |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 669003 |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 33.6 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.357 |
| sl_xwoba | 0.358 |
| sl_xba | 0.253 |
| sl_xslg | 0.473 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 16.0 |
| sl_hard_hit_percent | 52.0 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 5.5 |
| sl_whiff_percent | 38.6 |
| 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.167 | 0.000 | 0.000 | Hitting_2B | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.192 | 4.000 | 3.000 | Hitting_AB | 3.425 | 1.000 | 0.575 | 3.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.282 | 0.000 | 0.000 | Hitting_BB | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.780 | 0.000 | 1.000 | Hitting_H | 0.787 | 0.000 | -0.787 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_OBP | 0.311 | 0.000 | 0.333 | Hitting_OBP | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_R | 0.397 | 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.394 | 0.000 | -0.394 | 0.000 |
| predicted_SLG | 0.361 | 0.000 | 0.333 | Hitting_SLG | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_SO | 0.333 | 0.000 | 0.000 | Hitting_SO | 0.425 | 0.000 | -0.425 | 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.1920 -> 4.0000 (boost 0.8080, better) |
| Biggest Deboost | predicted_H: 0.7800 -> 0.0000 (deboost -0.7800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3610 -> 0.3552 (deboost -0.0058, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3122 -> 0.3068 (deboost -0.0054, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7927 -> 1.0000 (boost 0.2073, better) | predicted_RBI: 0.3449 -> 0.0000 (deboost -0.3449, worse) | AB rounded to 3 (raw=3.19), rates preserved: AVG=0.248 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4054 -> 0.0000 (deboost -0.4054, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2510 -> 0.3330 (boost 0.0820, better) | predicted_SLG: 0.3550 -> 0.3330 (deboost -0.0220, 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.3550 (boost 0.0220, better) | predicted_AVG: 0.3330 -> 0.2510 (deboost -0.0820, 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.167,
"predicted_3B": 0.0,
"predicted_AB": 3.192,
"predicted_AVG": 0.257,
"predicted_BB": 0.282,
"predicted_H": 0.78,
"predicted_HR": 0.06,
"predicted_OBP": 0.311,
"predicted_R": 0.397,
"predicted_RBI": 0.35,
"predicted_SLG": 0.361,
"predicted_SO": 0.333
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1822,
"predicted_3B": 0.0004,
"predicted_AB": 3.1579,
"predicted_AVG": 0.2546,
"predicted_BB": 0.2517,
"predicted_H": 0.7808,
"predicted_HBP": 0.076,
"predicted_HR": 0.0478,
"predicted_OBP": 0.3122,
"predicted_R": 0.3941,
"predicted_RBI": 0.3353,
"predicted_SLG": 0.3552,
"predicted_SO": 0.3208
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1822,
"delta": 0.0152,
"percent_delta": 0.091,
"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.192,
"after": 3.1579,
"delta": -0.0341,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2546,
"delta": -0.0024,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.2517,
"delta": -0.0303,
"percent_delta": -0.1074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7808,
"delta": 0.0008,
"percent_delta": 0.001,
"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.311,
"after": 0.3122,
"delta": 0.0012,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.3941,
"delta": -0.0029,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3353,
"delta": -0.0147,
"percent_delta": -0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3552,
"delta": -0.0058,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.333,
"after": 0.3208,
"delta": -0.0122,
"percent_delta": -0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.361,
"after": 0.3552,
"delta": -0.0058,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1822,
"predicted_3B": 0.0004,
"predicted_AB": 3.1579,
"predicted_AVG": 0.251,
"predicted_BB": 0.2544,
"predicted_H": 0.7927,
"predicted_HBP": 0.076,
"predicted_HR": 0.0485,
"predicted_OBP": 0.3068,
"predicted_R": 0.4054,
"predicted_RBI": 0.3449,
"predicted_SLG": 0.355,
"predicted_SO": 0.3174
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1822,
"after": 0.1822,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1579,
"after": 3.1579,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2546,
"after": 0.251,
"delta": -0.0036,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2517,
"after": 0.2544,
"delta": 0.0027,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7808,
"after": 0.7927,
"delta": 0.0119,
"percent_delta": 0.0152,
"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.0478,
"after": 0.0485,
"delta": 0.0007,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3122,
"after": 0.3068,
"delta": -0.0054,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3941,
"after": 0.4054,
"delta": 0.0113,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3353,
"after": 0.3449,
"delta": 0.0096,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3552,
"after": 0.355,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.3208,
"after": 0.3174,
"delta": -0.0034,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3122,
"after": 0.3068,
"delta": -0.0054,
"percent_delta": -0.0173,
"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.248 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1822,
"after": 0.0,
"delta": -0.1822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1579,
"after": 3.0,
"delta": -0.1579,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2544,
"after": 0.0,
"delta": -0.2544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7927,
"after": 1.0,
"delta": 0.2073,
"percent_delta": 0.2615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0485,
"after": 0.0,
"delta": -0.0485,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3449,
"after": 0.0,
"delta": -0.3449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3174,
"after": 0.0,
"delta": -0.3174,
"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.7927,
"after": 1.0,
"delta": 0.2073,
"percent_delta": 0.2615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3449,
"after": 0.0,
"delta": -0.3449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.4054,
"after": 0.0,
"delta": -0.4054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4054,
"after": 0.0,
"delta": -0.4054,
"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.251,
"after": 0.333,
"delta": 0.082,
"percent_delta": 0.3267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3068,
"after": 0.333,
"delta": 0.0262,
"percent_delta": 0.0854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.333,
"delta": -0.022,
"percent_delta": -0.062,
"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.251,
"after": 0.333,
"delta": 0.082,
"percent_delta": 0.3267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.333,
"delta": -0.022,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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_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.251,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3068,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.355,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.251,
"delta": -0.082,
"percent_delta": -0.2462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3068,
"delta": -0.0262,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.355,
"delta": 0.022,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.355,
"delta": 0.022,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.251,
"delta": -0.082,
"percent_delta": -0.2462,
"direction": "deboost",
"projection_effect": "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.192,
"after": 4.0,
"delta": 0.808,
"percent_delta": 0.2531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.251,
"delta": -0.006,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.0,
"delta": -0.282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3068,
"delta": -0.0042,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.355,
"delta": -0.006,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"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.192,
"after": 4.0,
"delta": 0.808,
"percent_delta": 0.2531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.192 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.282 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.397 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.361 | - |
| predicted_SO | 0.333 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.015 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.158 | -0.034 |
| predicted_AVG | 0.255 | -0.002 |
| predicted_BB | 0.252 | -0.030 |
| predicted_H | 0.781 | 0.001 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.312 | 0.001 |
| predicted_R | 0.394 | -0.003 |
| predicted_RBI | 0.335 | -0.015 |
| predicted_SLG | 0.355 | -0.006 |
| predicted_SO | 0.321 | -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.182 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.158 | 0.000 |
| predicted_AVG | 0.251 | -0.004 |
| predicted_BB | 0.254 | 0.003 |
| predicted_H | 0.793 | 0.012 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.049 | 0.001 |
| predicted_OBP | 0.307 | -0.005 |
| predicted_R | 0.405 | 0.011 |
| predicted_RBI | 0.345 | 0.010 |
| predicted_SLG | 0.355 | -0.000 |
| predicted_SO | 0.317 | -0.003 |
AB rounded to 3 (raw=3.19), rates preserved: AVG=0.248 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 | 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.182 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.158 |
| predicted_AVG | 0.333 | 0.082 |
| predicted_BB | 0.000 | -0.254 |
| predicted_H | 1.000 | 0.207 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.333 | 0.026 |
| predicted_R | 0.000 | -0.405 |
| predicted_RBI | 0.000 | -0.345 |
| predicted_SLG | 0.333 | -0.022 |
| predicted_SO | 0.000 | -0.317 |
Attached simulation box 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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 1.000 | 2.000 | 0.000 | 1.000 | 0.2143 | 0.2667 | 0.2857 | 0.2143 | 0.0000 | 0.0714 | 0.0000 | 0.0714 |
| last_10 | 0.20 | 10 | - | 28.000 | 9.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 1.000 | 0.3214 | 0.3871 | 0.4286 | 0.3214 | 0.0000 | 0.0714 | 0.0714 | 0.0357 |
| season | 0.60 | 78 | - | 249.000 | 60.000 | 13.000 | 0.000 | 3.000 | 29.000 | 31.000 | 22.000 | 26.000 | 0.2410 | 0.3066 | 0.3293 | 0.2410 | 0.0120 | 0.1165 | 0.0883 | 0.1044 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2030 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1110 |
| predicted_AVG | 0.2514 |
| predicted_BB | 0.2100 |
| predicted_H | 0.7820 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.3139 |
| predicted_R | 0.3900 |
| predicted_RBI | 0.3150 |
| predicted_SLG | 0.3472 |
| predicted_SO | 0.3040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.2030 | 0.1822 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1920 | 3.1110 | 3.1579 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2514 | 0.2546 | model_form_blend |
| predicted_BB | 0.2820 | 0.2100 | 0.2517 | model_form_blend |
| predicted_H | 0.7800 | 0.7820 | 0.7808 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.0600 | 0.0310 | 0.0478 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3139 | 0.3122 | model_form_blend |
| predicted_R | 0.3970 | 0.3900 | 0.3941 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3150 | 0.3353 | model_form_blend |
| predicted_SLG | 0.3610 | 0.3472 | 0.3552 | model_form_blend |
| predicted_SO | 0.3330 | 0.3040 | 0.3208 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 221 |
| Season rows before report date | 221 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-RF |
| gameID | 20260705_MIL@ARI |
| game_type | ph |
| mlbID | 686217 |
| note | Ran for Vaughn in the 7th. |
| playerID | 686217 |
| playerName | Sal Frelick |
| pos | RF |
| started | False |
| startingPosition | PR |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 9.0 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.288 |
| sl_xwoba | 0.295 |
| sl_xba | 0.255 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 27.9 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 9.3 |
| sl_whiff_percent | 10.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.059 | 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 | 2.941 | 3.000 | 3.000 | Hitting_AB | 2.941 | 3.000 | 0.059 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.333 | Hitting_AVG | 0.200 | 0.333 | -0.200 | -0.333 |
| predicted_BB | 0.471 | 1.000 | 0.000 | Hitting_BB | 0.471 | 1.000 | 0.529 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 0.588 | 1.000 | -0.588 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.307 | 0.250 | 0.333 | Hitting_OBP | 0.317 | 0.500 | -0.067 | -0.250 |
| predicted_R | 0.294 | 0.000 | 0.000 | Hitting_R | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_SLG | 0.301 | 0.000 | 0.333 | Hitting_SLG | 0.220 | 0.333 | -0.220 | -0.333 |
| predicted_SO | 0.647 | 0.000 | 1.000 | Hitting_SO | 0.647 | 0.000 | -0.647 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4710 -> 1.0000 (boost 0.5290, better) |
| Biggest Deboost | predicted_SO: 0.6470 -> 0.0000 (deboost -0.6470, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.9410 -> 3.0383 (boost 0.0973, better) | predicted_AVG: 0.2380 -> 0.2228 (deboost -0.0152, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3078 -> 0.3182 (boost 0.0104, better) | predicted_AVG: 0.2228 -> 0.2123 (deboost -0.0105, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6451 -> 1.0000 (boost 0.3549, better) | predicted_BB: 0.4718 -> 0.0000 (deboost -0.4718, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.212 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3205 -> 0.0000 (deboost -0.3205, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2123 -> 0.3330 (boost 0.1207, 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_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.2123 (deboost -0.1207, 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.059,
"predicted_3B": 0.0,
"predicted_AB": 2.941,
"predicted_AVG": 0.238,
"predicted_BB": 0.471,
"predicted_H": 0.64,
"predicted_HR": 0.06,
"predicted_OBP": 0.307,
"predicted_R": 0.294,
"predicted_RBI": 0.25,
"predicted_SLG": 0.301,
"predicted_SO": 0.647
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0703,
"predicted_3B": 0.0014,
"predicted_AB": 3.0383,
"predicted_AVG": 0.2228,
"predicted_BB": 0.4668,
"predicted_H": 0.6354,
"predicted_HBP": 0.08,
"predicted_HR": 0.0522,
"predicted_OBP": 0.3078,
"predicted_R": 0.3116,
"predicted_RBI": 0.2285,
"predicted_SLG": 0.287,
"predicted_SO": 0.66
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.059,
"after": 0.0703,
"delta": 0.0113,
"percent_delta": 0.1915,
"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.941,
"after": 3.0383,
"delta": 0.0973,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2228,
"delta": -0.0152,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 0.4668,
"delta": -0.0042,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6354,
"delta": -0.0046,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0522,
"delta": -0.0078,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3078,
"delta": 0.0008,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.3116,
"delta": 0.0176,
"percent_delta": 0.0599,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2285,
"delta": -0.0215,
"percent_delta": -0.086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.287,
"delta": -0.014,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 0.66,
"delta": 0.013,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_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.941,
"after": 3.0383,
"delta": 0.0973,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2228,
"delta": -0.0152,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.0703,
"predicted_3B": 0.0014,
"predicted_AB": 3.0383,
"predicted_AVG": 0.2123,
"predicted_BB": 0.4718,
"predicted_H": 0.6451,
"predicted_HBP": 0.08,
"predicted_HR": 0.053,
"predicted_OBP": 0.3182,
"predicted_R": 0.3205,
"predicted_RBI": 0.235,
"predicted_SLG": 0.2887,
"predicted_SO": 0.6529
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0703,
"after": 0.0703,
"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.0383,
"after": 3.0383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2228,
"after": 0.2123,
"delta": -0.0105,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4668,
"after": 0.4718,
"delta": 0.005,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6354,
"after": 0.6451,
"delta": 0.0097,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.08,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0522,
"after": 0.053,
"delta": 0.0008,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3078,
"after": 0.3182,
"delta": 0.0104,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3116,
"after": 0.3205,
"delta": 0.0089,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2285,
"after": 0.235,
"delta": 0.0065,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2887,
"delta": 0.0017,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.66,
"after": 0.6529,
"delta": -0.0071,
"percent_delta": -0.0108,
"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.3078,
"after": 0.3182,
"delta": 0.0104,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2228,
"after": 0.2123,
"delta": -0.0105,
"percent_delta": -0.0471,
"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.212 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0703,
"after": 0.0,
"delta": -0.0703,
"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.0383,
"after": 3.0,
"delta": -0.0383,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4718,
"after": 0.0,
"delta": -0.4718,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6451,
"after": 1.0,
"delta": 0.3549,
"percent_delta": 0.5501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6529,
"after": 1.0,
"delta": 0.3471,
"percent_delta": 0.5316,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6451,
"after": 1.0,
"delta": 0.3549,
"percent_delta": 0.5501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4718,
"after": 0.0,
"delta": -0.4718,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3205,
"after": 0.0,
"delta": -0.3205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3205,
"after": 0.0,
"delta": -0.3205,
"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.2123,
"after": 0.333,
"delta": 0.1207,
"percent_delta": 0.5685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3182,
"after": 0.333,
"delta": 0.0148,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.2123,
"after": 0.333,
"delta": 0.1207,
"percent_delta": 0.5685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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.2123,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3182,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2887,
"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.2123,
"delta": -0.1207,
"percent_delta": -0.3624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3182,
"delta": -0.0148,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.1331,
"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.2123,
"delta": -0.1207,
"percent_delta": -0.3624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.941,
"after": 3.0,
"delta": 0.059,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2123,
"delta": -0.0257,
"percent_delta": -0.108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3182,
"delta": 0.0112,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2887,
"delta": -0.0123,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.059 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.941 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.471 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.294 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.301 | - |
| predicted_SO | 0.647 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.070 | 0.011 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.038 | 0.097 |
| predicted_AVG | 0.223 | -0.015 |
| predicted_BB | 0.467 | -0.004 |
| predicted_H | 0.635 | -0.005 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.052 | -0.008 |
| predicted_OBP | 0.308 | 0.001 |
| predicted_R | 0.312 | 0.018 |
| predicted_RBI | 0.229 | -0.021 |
| predicted_SLG | 0.287 | -0.014 |
| predicted_SO | 0.660 | 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.070 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.038 | 0.000 |
| predicted_AVG | 0.212 | -0.011 |
| predicted_BB | 0.472 | 0.005 |
| predicted_H | 0.645 | 0.010 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.053 | 0.001 |
| predicted_OBP | 0.318 | 0.010 |
| predicted_R | 0.321 | 0.009 |
| predicted_RBI | 0.235 | 0.006 |
| predicted_SLG | 0.289 | 0.002 |
| predicted_SO | 0.653 | -0.007 |
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.212 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.070 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.038 |
| predicted_AVG | 0.333 | 0.121 |
| predicted_BB | 0.000 | -0.472 |
| predicted_H | 1.000 | 0.355 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.333 | 0.015 |
| predicted_R | 0.000 | -0.321 |
| predicted_RBI | 0.000 | -0.235 |
| predicted_SLG | 0.333 | 0.044 |
| predicted_SO | 1.000 | 0.347 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.1429 | 0.3333 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.2143 | 0.1429 |
| last_10 | 0.20 | 10 | - | 30.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 6.000 | 7.000 | 0.1000 | 0.2703 | 0.1333 | 0.1000 | 0.0000 | 0.0000 | 0.2000 | 0.2333 |
| season | 0.60 | 17 | - | 50.000 | 10.000 | 1.000 | 0.000 | 0.000 | 2.000 | 5.000 | 8.000 | 11.000 | 0.2000 | 0.3167 | 0.2200 | 0.2000 | 0.0000 | 0.0400 | 0.1600 | 0.2200 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0910 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.2170 |
| predicted_AVG | 0.1950 |
| predicted_BB | 0.4590 |
| predicted_H | 0.6270 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.0380 |
| predicted_OBP | 0.3092 |
| predicted_R | 0.3440 |
| predicted_RBI | 0.1890 |
| predicted_SLG | 0.2613 |
| predicted_SO | 0.6840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0590 | 0.0910 | 0.0703 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.9410 | 3.2170 | 3.0383 | model_form_blend |
| predicted_AVG | 0.2380 | 0.1950 | 0.2228 | model_form_blend |
| predicted_BB | 0.4710 | 0.4590 | 0.4668 | model_form_blend |
| predicted_H | 0.6400 | 0.6270 | 0.6354 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.0600 | 0.0380 | 0.0522 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3092 | 0.3078 | model_form_blend |
| predicted_R | 0.2940 | 0.3440 | 0.3116 | model_form_blend |
| predicted_RBI | 0.2500 | 0.1890 | 0.2285 | model_form_blend |
| predicted_SLG | 0.3010 | 0.2613 | 0.2870 | model_form_blend |
| predicted_SO | 0.6470 | 0.6840 | 0.6600 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260704_MIL@ARI |
| game_type | full |
| mlbID | 806198 |
| playerID | 806198 |
| playerName | Cooper Pratt |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-04 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.26 |
| sl_xwoba | 0.348 |
| sl_xba | 0.28 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 27.5 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 6.8 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.076 | 0.000 | 0.000 | Hitting_2B | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.015 | 4.000 | 3.000 | Hitting_AB | 3.057 | 3.000 | 0.943 | 1.000 |
| predicted_AVG | 0.256 | 0.000 | 0.333 | Hitting_AVG | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_BB | 0.288 | 0.000 | 0.000 | Hitting_BB | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.724 | 0.000 | -0.724 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_OBP | 0.293 | 0.000 | 0.333 | Hitting_OBP | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_R | 0.455 | 0.000 | 0.000 | Hitting_R | 0.546 | 0.000 | -0.546 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_SLG | 0.332 | 0.000 | 0.333 | Hitting_SLG | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_SO | 0.788 | 2.000 | 1.000 | Hitting_SO | 0.695 | 0.000 | 1.305 | 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.7880 -> 2.0000 (boost 1.2120, 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 | 3 | 0 | 3 | 0 | 3 | - | predicted_R: 0.4550 -> 0.3895 (deboost -0.0655, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2450 -> 0.2206 (deboost -0.0244, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_H: 0.6556 -> 1.0000 (boost 0.3444, better) | predicted_BB: 0.2697 -> 0.0000 (deboost -0.2697, worse) | AB rounded to 3 (raw=3.02), rates preserved: AVG=0.217 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4006 -> 0.0000 (deboost -0.4006, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2206 -> 0.3330 (boost 0.1124, 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.2206 (deboost -0.1124, 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.076,
"predicted_3B": 0.03,
"predicted_AB": 3.015,
"predicted_AVG": 0.256,
"predicted_BB": 0.288,
"predicted_H": 0.63,
"predicted_HR": 0.05,
"predicted_OBP": 0.293,
"predicted_R": 0.455,
"predicted_RBI": 0.24,
"predicted_SLG": 0.332,
"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.0752,
"predicted_3B": 0.0325,
"predicted_AB": 2.9719,
"predicted_AVG": 0.245,
"predicted_BB": 0.2668,
"predicted_H": 0.6458,
"predicted_HBP": 0.011,
"predicted_HR": 0.0442,
"predicted_OBP": 0.2918,
"predicted_R": 0.3895,
"predicted_RBI": 0.2164,
"predicted_SLG": 0.3254,
"predicted_SO": 0.7967
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.076,
"after": 0.0752,
"delta": -0.0008,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0325,
"delta": 0.0025,
"percent_delta": 0.0833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.015,
"after": 2.9719,
"delta": -0.0431,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.245,
"delta": -0.011,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.2668,
"delta": -0.0212,
"percent_delta": -0.0736,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.6458,
"delta": 0.0158,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0442,
"delta": -0.0058,
"percent_delta": -0.116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2918,
"delta": -0.0012,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.3895,
"delta": -0.0655,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2164,
"delta": -0.0236,
"percent_delta": -0.0983,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3254,
"delta": -0.0066,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.788,
"after": 0.7967,
"delta": 0.0087,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.455,
"after": 0.3895,
"delta": -0.0655,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0752,
"predicted_3B": 0.0325,
"predicted_AB": 2.9719,
"predicted_AVG": 0.2206,
"predicted_BB": 0.2697,
"predicted_H": 0.6556,
"predicted_HBP": 0.011,
"predicted_HR": 0.0448,
"predicted_OBP": 0.2854,
"predicted_R": 0.4006,
"predicted_RBI": 0.2226,
"predicted_SLG": 0.3131,
"predicted_SO": 0.7882
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0752,
"after": 0.0752,
"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": 2.9719,
"after": 2.9719,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2206,
"delta": -0.0244,
"percent_delta": -0.0996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2668,
"after": 0.2697,
"delta": 0.0029,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6458,
"after": 0.6556,
"delta": 0.0098,
"percent_delta": 0.0152,
"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.0442,
"after": 0.0448,
"delta": 0.0006,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2918,
"after": 0.2854,
"delta": -0.0064,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3895,
"after": 0.4006,
"delta": 0.0111,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2164,
"after": 0.2226,
"delta": 0.0062,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3254,
"after": 0.3131,
"delta": -0.0123,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7967,
"after": 0.7882,
"delta": -0.0085,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2206,
"delta": -0.0244,
"percent_delta": -0.0996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.02), rates preserved: AVG=0.217 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.0752,
"after": 0.0,
"delta": -0.0752,
"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": 2.9719,
"after": 3.0,
"delta": 0.0281,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2697,
"after": 0.0,
"delta": -0.2697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6556,
"after": 1.0,
"delta": 0.3444,
"percent_delta": 0.5253,
"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.0448,
"after": 0.0,
"delta": -0.0448,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2226,
"after": 0.0,
"delta": -0.2226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7882,
"after": 1.0,
"delta": 0.2118,
"percent_delta": 0.2687,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6556,
"after": 1.0,
"delta": 0.3444,
"percent_delta": 0.5253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2697,
"after": 0.0,
"delta": -0.2697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4006,
"after": 0.0,
"delta": -0.4006,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4006,
"after": 0.0,
"delta": -0.4006,
"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.2206,
"after": 0.333,
"delta": 0.1124,
"percent_delta": 0.5095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0476,
"percent_delta": 0.1668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3131,
"after": 0.333,
"delta": 0.0199,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2206,
"after": 0.333,
"delta": 0.1124,
"percent_delta": 0.5095,
"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.2206,
"predicted_BB": 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.3131,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2206,
"delta": -0.1124,
"percent_delta": -0.3375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2854,
"delta": -0.0476,
"percent_delta": -0.1428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3131,
"delta": -0.0199,
"percent_delta": -0.0599,
"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.2206,
"delta": -0.1124,
"percent_delta": -0.3375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.015,
"after": 4.0,
"delta": 0.985,
"percent_delta": 0.3267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2206,
"delta": -0.0354,
"percent_delta": -0.1383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2854,
"delta": -0.0076,
"percent_delta": -0.0259,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3131,
"delta": -0.0189,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.788,
"after": 2.0,
"delta": 1.212,
"percent_delta": 1.5381,
"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.788,
"after": 2.0,
"delta": 1.212,
"percent_delta": 1.5381,
"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.076 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.015 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.288 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.332 | - |
| 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.075 | -0.001 |
| predicted_3B | 0.033 | 0.003 |
| predicted_AB | 2.972 | -0.043 |
| predicted_AVG | 0.245 | -0.011 |
| predicted_BB | 0.267 | -0.021 |
| predicted_H | 0.646 | 0.016 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.044 | -0.006 |
| predicted_OBP | 0.292 | -0.001 |
| predicted_R | 0.390 | -0.066 |
| predicted_RBI | 0.216 | -0.024 |
| predicted_SLG | 0.325 | -0.007 |
| predicted_SO | 0.797 | 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.075 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 2.972 | 0.000 |
| predicted_AVG | 0.221 | -0.024 |
| predicted_BB | 0.270 | 0.003 |
| predicted_H | 0.656 | 0.010 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.045 | 0.001 |
| predicted_OBP | 0.285 | -0.006 |
| predicted_R | 0.401 | 0.011 |
| predicted_RBI | 0.223 | 0.006 |
| predicted_SLG | 0.313 | -0.012 |
| predicted_SO | 0.788 | -0.008 |
AB rounded to 3 (raw=3.02), rates preserved: AVG=0.217 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.075 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 3.000 | 0.028 |
| predicted_AVG | 0.333 | 0.112 |
| predicted_BB | 0.000 | -0.270 |
| predicted_H | 1.000 | 0.344 |
| predicted_HR | 0.000 | -0.045 |
| predicted_OBP | 0.333 | 0.048 |
| predicted_R | 0.000 | -0.401 |
| predicted_RBI | 0.000 | -0.223 |
| predicted_SLG | 0.333 | 0.020 |
| predicted_SO | 1.000 | 0.212 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.1818 | 0.2500 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0909 | 0.2727 |
| last_10 | 0.20 | 10 | - | 27.000 | 7.000 | 1.000 | 1.000 | 0.000 | 2.000 | 1.000 | 1.000 | 10.000 | 0.2593 | 0.2857 | 0.3704 | 0.2593 | 0.0000 | 0.0741 | 0.0370 | 0.3704 |
| season | 0.60 | 66 | - | 199.000 | 46.000 | 5.000 | 2.000 | 3.000 | 13.000 | 30.000 | 19.000 | 52.000 | 0.2312 | 0.3014 | 0.3216 | 0.2312 | 0.0151 | 0.0653 | 0.0955 | 0.2613 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0740 |
| predicted_3B | 0.0360 |
| predicted_AB | 2.9110 |
| predicted_AVG | 0.2295 |
| predicted_BB | 0.2370 |
| predicted_H | 0.6680 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.2902 |
| predicted_R | 0.2970 |
| predicted_RBI | 0.1830 |
| predicted_SLG | 0.3162 |
| predicted_SO | 0.8090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0760 | 0.0740 | 0.0752 | model_form_blend |
| predicted_3B | 0.0300 | 0.0360 | 0.0325 | model_form_blend |
| predicted_AB | 3.0150 | 2.9110 | 2.9719 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2295 | 0.2450 | model_form_blend |
| predicted_BB | 0.2880 | 0.2370 | 0.2668 | model_form_blend |
| predicted_H | 0.6300 | 0.6680 | 0.6458 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0500 | 0.0360 | 0.0442 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2902 | 0.2918 | model_form_blend |
| predicted_R | 0.4550 | 0.2970 | 0.3895 | model_form_blend |
| predicted_RBI | 0.2400 | 0.1830 | 0.2164 | model_form_blend |
| predicted_SLG | 0.3320 | 0.3162 | 0.3254 | model_form_blend |
| predicted_SO | 0.7880 | 0.8090 | 0.7967 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 666152 |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.289 |
| sl_xwoba | 0.264 |
| sl_xba | 0.202 |
| sl_xslg | 0.293 |
| sl_sweet_spot_percent | 24.7 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 26.8 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 45.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.059 | 1.000 | -0.059 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.176 | 2.000 | 0.824 | 0.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 3.118 | 6.000 | 0.882 | -2.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 3.241 | 5.200 | 1.959 | 0.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 3.471 | 7.000 | 1.529 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 4.0000 -> 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 | 3 | 1 | 2 | 2 | 1 | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_HR: 2.0000 -> 1.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 1 | 0 | 0 | 1 | predicted_HR: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "675660",
"player_name": "Shane Drohan",
"position": "Starter",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.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": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 5.2,
"predicted_R": 2.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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 | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 1.000 | -1.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 | 26.100 | 10.000 | 27.000 | 8.000 | 26.000 | 3.000 | 3.4177 | 1.3291 | 0.3797 | 1.0253 | 0.3038 | 0.9873 | 0.1139 |
| last_10 | 0.35 | 10 | 41.000 | 14.000 | 39.000 | 12.000 | 44.000 | 5.000 | 3.0732 | 1.2439 | 0.3415 | 0.9512 | 0.2927 | 1.0732 | 0.1220 |
| season | 0.20 | 17 | 57.200 | 20.000 | 53.000 | 18.000 | 59.000 | 5.000 | 3.1214 | 1.2312 | 0.3468 | 0.9191 | 0.3121 | 1.0231 | 0.0867 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4890 |
| predicted_ER | 1.8610 |
| predicted_ERA | 3.5331 |
| predicted_H | 4.6270 |
| predicted_HR | 0.5680 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.7800 |
| predicted_WHIP | 1.2904 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4890 | 1.2709 | model_form_blend |
| predicted_ER | 2.0000 | 1.8610 | 1.9230 | model_form_blend |
| predicted_ERA | - | 3.5331 | 3.5331 | form_only |
| predicted_H | 4.0000 | 4.6270 | 4.3473 | model_form_blend |
| predicted_HR | 2.0000 | 0.5680 | 1.2067 | model_form_blend |
| predicted_IP | 5.2000 | 4.2000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 4.7800 | 4.4321 | 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 | 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 | 4 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 5 |
| HR | 2 |
| BF | 22 |
| Pitches | 97 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.12 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 5 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 78 |
| Pitching_R | 2 |
| Pitching_SO | 7 |
| Pitching_Strikes | 52 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 675660 |
| playerID | 675660 |
| playerName | Shane Drohan |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.296 |
| sl_xwoba | 0.285 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 36.2 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 76.1752845 |
| sl_avg_hyper_speed | 93.672321063 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.452 | 1.000 | -0.452 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.071 | 2.000 | 0.929 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.126 | 0.100 | -0.126 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.667 | 0.000 | -0.667 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676879",
"player_name": "Aaron Ashby",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 5.000 | 4.000 | 4.000 | 0.000 | 4.1538 | 2.0769 | 0.4615 | 1.1539 | 0.9231 | 0.9231 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 5.000 | 7.000 | 6.000 | 9.000 | 1.000 | 5.1923 | 1.5000 | 0.5769 | 0.8077 | 0.6923 | 1.0385 | 0.1154 |
| season | 0.20 | 42 | 52.200 | 19.000 | 45.000 | 28.000 | 70.000 | 4.000 | 3.2468 | 1.3861 | 0.3608 | 0.8544 | 0.5316 | 1.3291 | 0.0760 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6610 |
| predicted_ER | 0.5110 |
| predicted_ERA | 4.4008 |
| predicted_H | 1.0160 |
| predicted_HR | 0.0900 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0610 |
| predicted_WHIP | 1.6041 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6610 | 0.3392 | model_form_blend |
| predicted_ER | 0.0000 | 0.5110 | 0.2623 | model_form_blend |
| predicted_ERA | - | 4.4008 | 4.4008 | form_only |
| predicted_H | 2.0000 | 1.0160 | 1.4950 | model_form_blend |
| predicted_HR | 0.0000 | 0.0900 | 0.0462 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0610 | 1.0313 | model_form_blend |
| predicted_WHIP | - | 1.6041 | 1.6041 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 42 |
| Season rows before report date | 42 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 16 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.297 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 39.5 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 40.3 |
| sl_avg_best_speed | 75.167930313 |
| sl_avg_hyper_speed | 94.325031172 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.900 | 1.200 | 0.100 | -0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.944 | 1.000 | 1.056 | 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: 3.0000 -> 2.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 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": 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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 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.100 | 0.000 | 2.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.4737 | 0.0000 | 0.3158 | 0.1579 | 0.4737 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 4.000 | 2.000 | 9.000 | 1.000 | 0.8182 | 0.5455 | 0.0909 | 0.3636 | 0.1818 | 0.8182 | 0.0909 |
| season | 0.20 | 36 | 35.200 | 11.000 | 24.000 | 12.000 | 34.000 | 3.000 | 2.7757 | 1.0093 | 0.3084 | 0.6729 | 0.3365 | 0.9533 | 0.0841 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2900 |
| predicted_ER | 0.2870 |
| predicted_ERA | 2.3716 |
| predicted_H | 0.6940 |
| predicted_HR | 0.0980 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8700 |
| predicted_WHIP | 0.9045 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2900 | 0.1378 | model_form_blend |
| predicted_ER | 0.0000 | 0.2870 | 0.1363 | model_form_blend |
| predicted_ERA | - | 2.3716 | 2.3716 | form_only |
| predicted_H | 0.0000 | 0.6940 | 0.3297 | model_form_blend |
| predicted_HR | 0.0000 | 0.0980 | 0.0466 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 0.8700 | 1.9882 | model_form_blend |
| predicted_WHIP | - | 0.9045 | 0.9045 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.78 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 682842 |
| playerID | 682842 |
| playerName | Abner Uribe |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.239 |
| sl_xwoba | 0.257 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 30.9 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 43.8 |
| sl_avg_best_speed | 75.743701522 |
| sl_avg_hyper_speed | 93.027709231 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.278 | 1.000 | -0.278 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.972 | 1.000 | 0.128 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.222 | 0.000 | -0.222 | 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": "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.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 | 0.000 | 3.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.6000 | 0.2000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 3.000 | 2.000 | 10.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.3000 | 0.2000 | 1.0000 | 0.0000 |
| season | 0.20 | 35 | 35.000 | 8.000 | 22.000 | 10.000 | 44.000 | 0.000 | 2.0571 | 0.9143 | 0.2286 | 0.6286 | 0.2857 | 1.2571 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2760 |
| predicted_ER | 0.2380 |
| predicted_ERA | 2.1386 |
| predicted_H | 0.6970 |
| predicted_HR | 0.0620 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0630 |
| predicted_WHIP | 0.9729 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2760 | 0.1306 | model_form_blend |
| predicted_ER | 0.0000 | 0.2380 | 0.1126 | model_form_blend |
| predicted_ERA | - | 2.1386 | 2.1386 | form_only |
| predicted_H | 0.0000 | 0.6970 | 0.3298 | 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 | 1.0630 | 1.0298 | model_form_blend |
| predicted_WHIP | - | 0.9729 | 0.9729 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.09 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260705_MIL@ARI |
| game_type | full |
| mlbID | 656730 |
| playerID | 656730 |
| playerName | Trevor Megill |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-05 |
| sl_k_percent | 31.2 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.225 |
| sl_xwoba | 0.25 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 32.3 |
| sl_swing_percent | 52.1 |
| sl_avg_best_speed | 81.631141707 |
| sl_avg_hyper_speed | 94.340129024 |
| Field | Value |
|---|---|
| Pitcher | Dustin May |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0350 |
| ESPN Rank | 322 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1439 |
| Avg Velo | 92.3417 |
| Avg Spin | 2527.7005 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 5 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 4.8024 |
| Season WHIP | 1.2688 |
| Role Avg IP | 5.2710 |
| Recent Avg IP | 4.6670 |
| Last Start IP | 0.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"opponent": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"edges": {
"quality_edge": -0.2133,
"offense_edge": -0.0235,
"opponent_offense_edge": 0.1085,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.2329,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9898,
"run_prevention": 1.019,
"strikeout": 0.9849
},
"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.2,
"bb_percent": 6.8,
"woba": 0.313,
"xwoba": 0.305,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 46.5,
"avg_best_speed": 79.3969,
"avg_hyper_speed": 94.7663,
"whiff_percent": 22.0,
"swing_percent": 47.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.0794,
"command_and_miss": -0.0957,
"regression_edge": 0.2286,
"xwoba_edge": 0.2286,
"barrel_edge": 0.0444,
"hard_hit_edge": -1.1571,
"whiff_edge": -0.5,
"bb_edge": 0.525,
"pitch_design_score": 0.1439
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669160",
"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": 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": 87,
"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.1439,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.028,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.035,
"sample_weight": 1.0,
"run_prevention_factor": 1.003,
"strikeout_factor": 0.9777,
"walk_factor": 0.958,
"homer_factor": 1.0359,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669160",
"espn_id": 40937,
"player_name": "Dustin May",
"team": "STL",
"role": "pitcher",
"espn_rank": 322,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 322,
"gp_value": 16.0,
"gp_rank": 322,
"gs_value": 16.0,
"gs_rank": 62,
"qs_value": 9.0,
"qs_rank": 23,
"era_value": 4.8023,
"era_rank": null,
"w_value": 5.0,
"w_rank": 63,
"l_value": 6.0,
"l_rank": 36,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 84.1,
"ip_rank": 75,
"h_value": 83.0,
"h_rank": 55,
"er_value": 45.0,
"er_rank": 33,
"hr_value": 7.0,
"hr_rank": 149,
"bb_value": 24.0,
"bb_rank": 111,
"k_value": 78.0,
"k_rank": 64,
"k_per_9_value": 8.324111,
"k_per_9_rank": 23.0,
"whip_value": 1.2687,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.003,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.003,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.958,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0359,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9777,
"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": 53.2,
"ER": 27,
"H": 43,
"BB": 17,
"SO": 56,
"HR": 4,
"ERA": 4.527950310559006,
"WHIP": 1.1180124223602483,
"K9": 9.391304347826086,
"HR9": 0.670807453416149,
"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-07-02T00:00:00"
}{
"available": true,
"pitcher_id": "669160",
"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": 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": 87,
"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.1439,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.028,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "669160",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.1,
"ER": 14.0,
"R": 14.0,
"H": 21.0,
"BB": 7.0,
"SO": 27.0,
"HR": 2.0,
"BF": 96.0,
"Pitches": 370.0
},
"per_game": {
"IP": 4.2,
"ER": 2.8,
"R": 2.8,
"H": 4.2,
"BB": 1.4,
"SO": 5.4,
"HR": 0.4,
"BF": 19.2,
"Pitches": 74.0
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 0.9,
"BB_per_IP": 0.3,
"SO_per_IP": 1.15714,
"HR_per_IP": 0.08571
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.2,
"ER": 27.0,
"R": 29.0,
"H": 43.0,
"BB": 17.0,
"SO": 56.0,
"HR": 4.0,
"BF": 221.0,
"Pitches": 831.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.9,
"H": 4.3,
"BB": 1.7,
"SO": 5.6,
"HR": 0.4,
"BF": 22.1,
"Pitches": 83.1
},
"rates": {
"ERA": 4.528,
"WHIP": 1.118,
"ER_per_IP": 0.50311,
"H_per_IP": 0.80124,
"BB_per_IP": 0.31677,
"SO_per_IP": 1.04348,
"HR_per_IP": 0.07453
}
},
"season": {
"games": 16,
"totals": {
"IP": 84.1,
"ER": 45.0,
"R": 48.0,
"H": 83.0,
"BB": 24.0,
"SO": 78.0,
"HR": 7.0,
"BF": 351.0,
"Pitches": 1329.0
},
"per_game": {
"IP": 5.1,
"ER": 2.8125,
"R": 3.0,
"H": 5.1875,
"BB": 1.5,
"SO": 4.875,
"HR": 0.4375,
"BF": 21.9375,
"Pitches": 83.0625
},
"rates": {
"ERA": 4.8024,
"WHIP": 1.2688,
"ER_per_IP": 0.5336,
"H_per_IP": 0.98419,
"BB_per_IP": 0.28458,
"SO_per_IP": 0.9249,
"HR_per_IP": 0.083
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.72,
"predicted_H": 4.539,
"predicted_BB": 1.587,
"predicted_SO": 5.242,
"predicted_HR": 0.49,
"predicted_ERA": 4.8708,
"predicted_WHIP": 1.2188
}
}{
"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": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.72,
"final": 3.7474,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.539,
"final": 5.1973,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.587,
"final": 1.7731,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 5.242,
"final": 3.3306,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 3.0,
"form": 0.49,
"final": 1.621,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8708,
"final": 4.8708,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2188,
"final": 1.2188,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1380 |
| ESPN Rank | 192 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.6923 |
| Season WHIP | 1.3077 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"opponent": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"edges": {
"quality_edge": -0.2133,
"offense_edge": -0.0235,
"opponent_offense_edge": 0.1085,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.2329,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9898,
"run_prevention": 1.019,
"strikeout": 0.9849
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668941",
"profile": {
"available": true,
"pitcher_id": "668941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 23.4,
"bb_percent": 7.8,
"woba": 0.319,
"xwoba": 0.333,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 43.8,
"avg_best_speed": 80.1071,
"avg_hyper_speed": 95.7074,
"whiff_percent": 23.4,
"swing_percent": 39.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.4769,
"command_and_miss": 0.0014,
"regression_edge": -0.4,
"xwoba_edge": -0.5714,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.7714,
"whiff_edge": -0.3,
"bb_edge": 0.275,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668941",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.138,
"sample_weight": 0.45,
"run_prevention_factor": 1.0117,
"strikeout_factor": 0.9967,
"walk_factor": 0.9901,
"homer_factor": 1.0208,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668941",
"espn_id": 40456,
"player_name": "JoJo Romero",
"team": "STL",
"role": "pitcher",
"espn_rank": 192,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 192,
"gp_value": 40.0,
"gp_rank": 21,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.6923,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 20.0,
"hld_rank": 1,
"ip_value": 39.0,
"ip_rank": 222,
"h_value": 38.0,
"h_rank": 191,
"er_value": 16.0,
"er_rank": 252,
"hr_value": 5.0,
"hr_rank": 207,
"bb_value": 13.0,
"bb_rank": 272,
"k_value": 39.0,
"k_rank": 222,
"k_per_9_value": 9.0,
"k_per_9_rank": 27.0,
"whip_value": 1.3076,
"whip_rank": null,
"war_value": 0.58,
"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.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0094,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9985,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 5,
"H": 13,
"BB": 2,
"SO": 9,
"HR": 2,
"ERA": 4.821428571428571,
"WHIP": 1.607142857142857,
"K9": 8.678571428571429,
"HR9": 1.9285714285714284,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-04T00: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.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6074,
"prior_weight": 0.3926
},
"role": "pitcher",
"player_id": "668941",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 16.0
},
"rates": {
"ERA": 1.8,
"WHIP": 1.6,
"ER_per_IP": 0.2,
"H_per_IP": 1.4,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 5.0,
"H": 13.0,
"BB": 2.0,
"SO": 9.0,
"HR": 2.0,
"BF": 42.0,
"Pitches": 149.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.3,
"BB": 0.2,
"SO": 0.9,
"HR": 0.2,
"BF": 4.2,
"Pitches": 14.9
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.6071,
"ER_per_IP": 0.53571,
"H_per_IP": 1.39286,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 40,
"totals": {
"IP": 39.0,
"ER": 16.0,
"R": 16.0,
"H": 38.0,
"BB": 13.0,
"SO": 39.0,
"HR": 5.0,
"BF": 167.0,
"Pitches": 650.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.95,
"BB": 0.325,
"SO": 0.975,
"HR": 0.125,
"BF": 4.175,
"Pitches": 16.25
},
"rates": {
"ERA": 3.6923,
"WHIP": 1.3077,
"ER_per_IP": 0.41026,
"H_per_IP": 0.97436,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.0,
"HR_per_IP": 0.12821
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.416,
"predicted_H": 1.178,
"predicted_BB": 0.281,
"predicted_SO": 0.974,
"predicted_HR": 0.12,
"predicted_ERA": 3.7466,
"predicted_WHIP": 1.4588
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5159,
"form_weight": 0.4841,
"form_reliability": 0.6074,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6074,
"prior_weight": 0.3926
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.416,
"final": 0.2014,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.178,
"final": 1.0862,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.281,
"final": 0.136,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.974,
"final": 0.4715,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.12,
"final": 0.0581,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7466,
"final": 3.7466,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4588,
"final": 1.4588,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.0099 |
| ESPN Rank | 235 |
| 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 | 3.7156 |
| Season WHIP | 1.1560 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"opponent": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"edges": {
"quality_edge": -0.2133,
"offense_edge": -0.0235,
"opponent_offense_edge": 0.1085,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.2329,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9898,
"run_prevention": 1.019,
"strikeout": 0.9849
},
"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.9,
"bb_percent": 7.8,
"woba": 0.287,
"xwoba": 0.325,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 39.0,
"avg_best_speed": 76.5511,
"avg_hyper_speed": 94.449,
"whiff_percent": 26.8,
"swing_percent": 45.9
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.0899,
"command_and_miss": 0.1393,
"regression_edge": -1.0857,
"xwoba_edge": -0.3429,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.0857,
"whiff_edge": 0.1857,
"bb_edge": 0.275,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676617",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0099,
"sample_weight": 0.45,
"run_prevention_factor": 1.0008,
"strikeout_factor": 1.0041,
"walk_factor": 0.9901,
"homer_factor": 0.9966,
"woba_minus_xwoba": -0.038,
"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": 235,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 235,
"gp_value": 36.0,
"gp_rank": 59,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.7155,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 22.0,
"sv_rank": 3,
"hld_value": 1.0,
"hld_rank": 210,
"ip_value": 36.1,
"ip_rank": 250,
"h_value": 30.0,
"h_rank": 268,
"er_value": 15.0,
"er_rank": 266,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 12.0,
"bb_rank": 299,
"k_value": 35.0,
"k_rank": 255,
"k_per_9_value": 8.669725,
"k_per_9_rank": 27.0,
"whip_value": 1.1559,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9985,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0018,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 3,
"H": 6,
"BB": 7,
"SO": 6,
"HR": 1,
"ERA": 2.7,
"WHIP": 1.3,
"K9": 5.4,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-04T00: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.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5903,
"prior_weight": 0.4097
},
"role": "pitcher",
"player_id": "676617",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 36,
"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": 3.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 66.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.2,
"BF": 4.0,
"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.6,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 7.0,
"SO": 6.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.7,
"SO": 0.6,
"HR": 0.1,
"BF": 4.4,
"Pitches": 16.1
},
"rates": {
"ERA": 2.7,
"WHIP": 1.3,
"ER_per_IP": 0.3,
"H_per_IP": 0.6,
"BB_per_IP": 0.7,
"SO_per_IP": 0.6,
"HR_per_IP": 0.1
}
},
"season": {
"games": 36,
"totals": {
"IP": 36.1,
"ER": 15.0,
"R": 17.0,
"H": 30.0,
"BB": 12.0,
"SO": 35.0,
"HR": 2.0,
"BF": 153.0,
"Pitches": 586.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4167,
"R": 0.4722,
"H": 0.8333,
"BB": 0.3333,
"SO": 0.9722,
"HR": 0.0556,
"BF": 4.25,
"Pitches": 16.2778
},
"rates": {
"ERA": 3.7156,
"WHIP": 1.156,
"ER_per_IP": 0.41284,
"H_per_IP": 0.82569,
"BB_per_IP": 0.33028,
"SO_per_IP": 0.9633,
"HR_per_IP": 0.05505
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.423,
"predicted_H": 0.778,
"predicted_BB": 0.383,
"predicted_SO": 0.788,
"predicted_HR": 0.141,
"predicted_ERA": 3.8114,
"predicted_WHIP": 1.1612
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5231,
"form_weight": 0.4769,
"form_reliability": 0.5903,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5903,
"prior_weight": 0.4097
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.423,
"final": 0.7248,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.778,
"final": 0.8941,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.383,
"final": 0.1827,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.788,
"final": 1.422,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.141,
"final": 0.5903,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8114,
"final": 3.8114,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1612,
"final": 1.1612,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ryne Stanek |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0334 |
| ESPN Rank | 589 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.8119 |
| Season WHIP | 1.4554 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 97,
"wins": 53,
"losses": 44,
"win_pct": 0.5464,
"runs_scored": 429.0,
"runs_allowed": 403.0,
"run_differential": 26.0,
"run_differential_per_game": 0.268,
"avg_runs_scored": 4.4227,
"avg_runs_allowed": 4.1546,
"offense_index": 0.9765,
"defense_index": 1.0901,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.072
},
"opponent": {
"team": "MIL",
"games": 98,
"wins": 59,
"losses": 39,
"win_pct": 0.602,
"runs_scored": 492.0,
"runs_allowed": 360.0,
"run_differential": 132.0,
"run_differential_per_game": 1.3469,
"avg_runs_scored": 5.0204,
"avg_runs_allowed": 3.6735,
"offense_index": 1.1085,
"defense_index": 1.2329,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 3.8,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2853
},
"edges": {
"quality_edge": -0.2133,
"offense_edge": -0.0235,
"opponent_offense_edge": 0.1085,
"defense_strength": 0.0901,
"opponent_defense_weakness": -0.2329,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9898,
"run_prevention": 1.019,
"strikeout": 0.9849
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592773",
"profile": {
"available": true,
"pitcher_id": "592773",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 100.0,
"k_percent": 26.2,
"bb_percent": 12.1,
"woba": 0.331,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 35.6,
"avg_best_speed": 79.0972,
"avg_hyper_speed": 94.738,
"whiff_percent": 31.2,
"swing_percent": 50.2
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.1301,
"command_and_miss": 0.3564,
"regression_edge": 0.5429,
"xwoba_edge": 0.0286,
"barrel_edge": -0.3556,
"hard_hit_edge": 0.4,
"whiff_edge": 0.8143,
"bb_edge": -0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592773",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0334,
"sample_weight": 0.45,
"run_prevention_factor": 0.9972,
"strikeout_factor": 1.0239,
"walk_factor": 1.0288,
"homer_factor": 1.0052,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592773",
"espn_id": 33301,
"player_name": "Ryne Stanek",
"team": "STL",
"role": "pitcher",
"espn_rank": 589,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 589,
"gp_value": 37.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 4.8118,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 15.0,
"hld_rank": 8,
"ip_value": 33.2,
"ip_rank": 287,
"h_value": 31.0,
"h_rank": 258,
"er_value": 18.0,
"er_rank": 213,
"hr_value": 6.0,
"hr_rank": 171,
"bb_value": 18.0,
"bb_rank": 189,
"k_value": 39.0,
"k_rank": 222,
"k_per_9_value": 10.425742,
"k_per_9_rank": 20.0,
"whip_value": 1.4554,
"whip_rank": null,
"war_value": -0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9987,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9987,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.013,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0023,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0108,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 4,
"H": 8,
"BB": 0,
"SO": 8,
"HR": 4,
"ERA": 3.8571428571428577,
"WHIP": 0.8571428571428572,
"K9": 7.714285714285715,
"HR9": 3.8571428571428577,
"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-04T00:00:00"
}{
"available": false,
"pitcher_id": "592773",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.677,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5718,
"prior_weight": 0.4282
},
"role": "pitcher",
"player_id": "592773",
"report_date": "20260706_M",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 0.0,
"SO": 3.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 56.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.0,
"SO": 0.6,
"HR": 0.2,
"BF": 3.4,
"Pitches": 11.2
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.1538,
"ER_per_IP": 0.23077,
"H_per_IP": 1.15385,
"BB_per_IP": 0.0,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 0.0,
"SO": 8.0,
"HR": 4.0,
"BF": 35.0,
"Pitches": 122.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.0,
"SO": 0.8,
"HR": 0.4,
"BF": 3.5,
"Pitches": 12.2
},
"rates": {
"ERA": 3.8571,
"WHIP": 0.8571,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.42857
}
},
"season": {
"games": 37,
"totals": {
"IP": 33.2,
"ER": 18.0,
"R": 20.0,
"H": 31.0,
"BB": 18.0,
"SO": 39.0,
"HR": 6.0,
"BF": 149.0,
"Pitches": 619.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4865,
"R": 0.5405,
"H": 0.8378,
"BB": 0.4865,
"SO": 1.0541,
"HR": 0.1622,
"BF": 4.027,
"Pitches": 16.7297
},
"rates": {
"ERA": 4.8119,
"WHIP": 1.4554,
"ER_per_IP": 0.53465,
"H_per_IP": 0.92079,
"BB_per_IP": 0.53465,
"SO_per_IP": 1.15842,
"HR_per_IP": 0.17822
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.422,
"predicted_H": 0.989,
"predicted_BB": 0.214,
"predicted_SO": 0.891,
"predicted_HR": 0.229,
"predicted_ERA": 3.7992,
"predicted_WHIP": 1.2031
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5309,
"form_weight": 0.4691,
"form_reliability": 0.5718,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.677,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5718,
"prior_weight": 0.4282
},
"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.198,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.989,
"final": 0.4639,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.214,
"final": 0.1004,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.891,
"final": 0.418,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.229,
"final": 0.1074,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7992,
"final": 3.7992,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2031,
"final": 1.2031,
"source": "form_only"
}
}
}{
"available": false,
"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.214 | 0.000 | 0.000 | Hitting_2B | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.280 | 4.000 | 4.000 | Hitting_AB | 3.910 | 2.000 | 0.090 | 2.000 |
| predicted_AVG | 0.264 | 0.500 | 0.250 | Hitting_AVG | 0.316 | 0.500 | 0.184 | 0.000 |
| predicted_BB | 0.345 | 0.000 | 0.000 | Hitting_BB | 0.395 | 1.000 | -0.395 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.066 | 1.000 | -0.066 | -1.000 |
| predicted_H | 1.130 | 2.000 | 1.000 | Hitting_H | 1.234 | 1.000 | 0.766 | 1.000 |
| predicted_HR | 0.230 | 1.000 | 0.000 | Hitting_HR | 0.289 | 1.000 | 0.711 | 0.000 |
| predicted_OBP | 0.367 | 0.500 | 0.250 | Hitting_OBP | 0.380 | 0.500 | 0.120 | 0.000 |
| predicted_R | 0.631 | 1.000 | 1.000 | Hitting_R | 0.738 | 1.000 | 0.262 | 0.000 |
| predicted_RBI | 0.950 | 1.000 | 1.000 | Hitting_RBI | 0.871 | 4.000 | 0.129 | -3.000 |
| predicted_SLG | 0.520 | 1.250 | 0.250 | Hitting_SLG | 0.598 | 2.000 | 0.652 | -0.750 |
| predicted_SO | 1.095 | 1.000 | 1.000 | Hitting_SO | 1.102 | 0.000 | -0.102 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.1300 -> 2.0000 (boost 0.8700, better) |
| Biggest Deboost | predicted_BB: 0.3450 -> 0.0000 (deboost -0.3450, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_R: 0.6310 -> 0.7122 (boost 0.0812, better) | predicted_AB: 4.2800 -> 4.0017 (deboost -0.2783, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 0.9680 -> 0.9159 (deboost -0.0521, 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.9159 -> 1.0000 (boost 0.0841, better) | predicted_BB: 0.4036 -> 0.0000 (deboost -0.4036, worse) | AB rounded to 4 (raw=4.28), rates preserved: AVG=0.256 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6739 -> 1.0000 (boost 0.3261, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5038 -> 0.2500 (deboost -0.2538, 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_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.5038 (boost 0.2538, 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.214,
"predicted_3B": 0.0,
"predicted_AB": 4.28,
"predicted_AVG": 0.264,
"predicted_BB": 0.345,
"predicted_H": 1.13,
"predicted_HR": 0.23,
"predicted_OBP": 0.367,
"predicted_R": 0.631,
"predicted_RBI": 0.95,
"predicted_SLG": 0.52,
"predicted_SO": 1.095
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.229,
"predicted_3B": 0.0004,
"predicted_AB": 4.0017,
"predicted_AVG": 0.2846,
"predicted_BB": 0.4066,
"predicted_H": 1.1313,
"predicted_HBP": 0.083,
"predicted_HR": 0.2394,
"predicted_OBP": 0.378,
"predicted_R": 0.7122,
"predicted_RBI": 0.968,
"predicted_SLG": 0.5499,
"predicted_SO": 1.0912
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.229,
"delta": 0.015,
"percent_delta": 0.0701,
"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.0017,
"delta": -0.2783,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2846,
"delta": 0.0206,
"percent_delta": 0.078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.345,
"after": 0.4066,
"delta": 0.0616,
"percent_delta": 0.1786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.1313,
"delta": 0.0013,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2394,
"delta": 0.0094,
"percent_delta": 0.0409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.378,
"delta": 0.011,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.631,
"after": 0.7122,
"delta": 0.0812,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.95,
"after": 0.968,
"delta": 0.018,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.52,
"after": 0.5499,
"delta": 0.0299,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.095,
"after": 1.0912,
"delta": -0.0038,
"percent_delta": -0.0035,
"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.631,
"after": 0.7122,
"delta": 0.0812,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.28,
"after": 4.0017,
"delta": -0.2783,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.229,
"predicted_3B": 0.0004,
"predicted_AB": 4.0017,
"predicted_AVG": 0.2735,
"predicted_BB": 0.4036,
"predicted_H": 1.0945,
"predicted_HBP": 0.083,
"predicted_HR": 0.2306,
"predicted_OBP": 0.3401,
"predicted_R": 0.6739,
"predicted_RBI": 0.9159,
"predicted_SLG": 0.5038,
"predicted_SO": 1.0992
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.229,
"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.0017,
"after": 4.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2846,
"after": 0.2735,
"delta": -0.0111,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4066,
"after": 0.4036,
"delta": -0.003,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1313,
"after": 1.0945,
"delta": -0.0368,
"percent_delta": -0.0325,
"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.2394,
"after": 0.2306,
"delta": -0.0088,
"percent_delta": -0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.3401,
"delta": -0.0379,
"percent_delta": -0.1003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7122,
"after": 0.6739,
"delta": -0.0383,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.968,
"after": 0.9159,
"delta": -0.0521,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5499,
"after": 0.5038,
"delta": -0.0461,
"percent_delta": -0.0838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0912,
"after": 1.0992,
"delta": 0.008,
"percent_delta": 0.0073,
"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.968,
"after": 0.9159,
"delta": -0.0521,
"percent_delta": -0.0538,
"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.256 HR/AB=0.054",
"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.229,
"after": 0.0,
"delta": -0.229,
"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.0017,
"after": 4.0,
"delta": -0.0017,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4036,
"after": 0.0,
"delta": -0.4036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0945,
"after": 1.0,
"delta": -0.0945,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"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.2306,
"after": 0.0,
"delta": -0.2306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9159,
"after": 1.0,
"delta": 0.0841,
"percent_delta": 0.0918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0992,
"after": 1.0,
"delta": -0.0992,
"percent_delta": -0.0902,
"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.9159,
"after": 1.0,
"delta": 0.0841,
"percent_delta": 0.0918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4036,
"after": 0.0,
"delta": -0.4036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6739,
"after": 1.0,
"delta": 0.3261,
"percent_delta": 0.4839,
"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.6739,
"after": 1.0,
"delta": 0.3261,
"percent_delta": 0.4839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2735,
"after": 0.25,
"delta": -0.0235,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3401,
"after": 0.25,
"delta": -0.0901,
"percent_delta": -0.2649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5038,
"after": 0.25,
"delta": -0.2538,
"percent_delta": -0.5038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5038,
"after": 0.25,
"delta": -0.2538,
"percent_delta": -0.5038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 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.2735,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3401,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5038,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2735,
"delta": 0.0235,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3401,
"delta": 0.0901,
"percent_delta": 0.3603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5038,
"delta": 0.2538,
"percent_delta": 1.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5038,
"delta": 0.2538,
"percent_delta": 1.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.28,
"after": 4.0,
"delta": -0.28,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2735,
"delta": 0.0095,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 2.0,
"delta": 0.87,
"percent_delta": 0.7699,
"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.367,
"after": 0.3401,
"delta": -0.0269,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.631,
"after": 1.0,
"delta": 0.369,
"percent_delta": 0.5848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.52,
"after": 0.5038,
"delta": -0.0162,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.095,
"after": 1.0,
"delta": -0.095,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.13,
"after": 2.0,
"delta": 0.87,
"percent_delta": 0.7699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.280 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.345 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.631 | - |
| predicted_RBI | 0.950 | - |
| predicted_SLG | 0.520 | - |
| predicted_SO | 1.095 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.229 | 0.015 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.002 | -0.278 |
| predicted_AVG | 0.285 | 0.021 |
| predicted_BB | 0.407 | 0.062 |
| predicted_H | 1.131 | 0.001 |
| predicted_HBP | 0.083 | - |
| predicted_HR | 0.239 | 0.009 |
| predicted_OBP | 0.378 | 0.011 |
| predicted_R | 0.712 | 0.081 |
| predicted_RBI | 0.968 | 0.018 |
| predicted_SLG | 0.550 | 0.030 |
| predicted_SO | 1.091 | -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.229 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.002 | 0.000 |
| predicted_AVG | 0.274 | -0.011 |
| predicted_BB | 0.404 | -0.003 |
| predicted_H | 1.095 | -0.037 |
| predicted_HBP | 0.083 | 0.000 |
| predicted_HR | 0.231 | -0.009 |
| predicted_OBP | 0.340 | -0.038 |
| predicted_R | 0.674 | -0.038 |
| predicted_RBI | 0.916 | -0.052 |
| predicted_SLG | 0.504 | -0.046 |
| predicted_SO | 1.099 | 0.008 |
AB rounded to 4 (raw=4.28), rates preserved: AVG=0.256 HR/AB=0.054
| 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.229 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.002 |
| predicted_AVG | 0.250 | -0.024 |
| predicted_BB | 0.000 | -0.404 |
| predicted_H | 1.000 | -0.095 |
| predicted_HR | 0.000 | -0.231 |
| predicted_OBP | 0.250 | -0.090 |
| predicted_R | 1.000 | 0.326 |
| predicted_RBI | 1.000 | 0.084 |
| predicted_SLG | 0.250 | -0.254 |
| predicted_SO | 1.000 | -0.099 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 6.000 | 2.000 | 0.000 | 2.000 | 9.000 | 7.000 | 4.000 | 5.000 | 0.3750 | 0.5000 | 0.8750 | 0.3750 | 0.1250 | 0.5625 | 0.2500 | 0.3125 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 2.000 | 0.000 | 2.000 | 9.000 | 8.000 | 6.000 | 12.000 | 0.3333 | 0.4390 | 0.5758 | 0.3333 | 0.0606 | 0.2727 | 0.1818 | 0.3636 |
| season | 0.60 | 84 | - | 324.000 | 95.000 | 18.000 | 0.000 | 19.000 | 64.000 | 53.000 | 29.000 | 92.000 | 0.2932 | 0.3538 | 0.5247 | 0.2932 | 0.0586 | 0.1975 | 0.0895 | 0.2839 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2490 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6290 |
| predicted_AVG | 0.3122 |
| predicted_BB | 0.4890 |
| predicted_H | 1.1330 |
| predicted_HBP | 0.0830 |
| predicted_HR | 0.2520 |
| predicted_OBP | 0.3928 |
| predicted_R | 0.8210 |
| predicted_RBI | 0.9920 |
| predicted_SLG | 0.5899 |
| predicted_SO | 1.0860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.2490 | 0.2290 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2800 | 3.6290 | 4.0017 | model_form_blend |
| predicted_AVG | 0.2640 | 0.3122 | 0.2846 | model_form_blend |
| predicted_BB | 0.3450 | 0.4890 | 0.4066 | model_form_blend |
| predicted_H | 1.1300 | 1.1330 | 1.1313 | model_form_blend |
| predicted_HBP | - | 0.0830 | 0.0830 | form_only |
| predicted_HR | 0.2300 | 0.2520 | 0.2394 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3928 | 0.3780 | model_form_blend |
| predicted_R | 0.6310 | 0.8210 | 0.7122 | model_form_blend |
| predicted_RBI | 0.9500 | 0.9920 | 0.9680 | model_form_blend |
| predicted_SLG | 0.5200 | 0.5899 | 0.5499 | model_form_blend |
| predicted_SO | 1.0950 | 1.0860 | 1.0912 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.293 |
| 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 | 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 | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | RF |
| gameID | 20260705_STL@CHC |
| game_type | full |
| mlbID | 691023 |
| playerID | 691023 |
| playerName | Jordan Walker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-05 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.377 |
| sl_xwoba | 0.368 |
| sl_xba | 0.281 |
| sl_xslg | 0.509 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 14.2 |
| sl_hard_hit_percent | 51.0 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 31.1 |
| 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.121 | 0.000 | -0.121 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.480 | 3.000 | 4.000 | Hitting_AB | 3.938 | 4.000 | -0.938 | -1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.250 | Hitting_AVG | 0.246 | 0.500 | -0.246 | -0.500 |
| predicted_BB | 0.457 | 1.000 | 0.000 | Hitting_BB | 0.546 | 0.000 | 0.454 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.140 | 0.000 | 1.000 | Hitting_H | 0.967 | 2.000 | -0.967 | -2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_OBP | 0.354 | 0.250 | 0.250 | Hitting_OBP | 0.361 | 0.500 | -0.111 | -0.250 |
| predicted_R | 0.654 | 0.000 | 1.000 | Hitting_R | 0.692 | 2.000 | -0.692 | -2.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_SLG | 0.428 | 0.000 | 0.250 | Hitting_SLG | 0.405 | 0.500 | -0.405 | -0.500 |
| predicted_SO | 0.716 | 2.000 | 1.000 | Hitting_SO | 0.810 | 0.000 | 1.190 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7160 -> 2.0000 (boost 1.2840, worse) |
| Biggest Deboost | predicted_AB: 4.4800 -> 3.0000 (deboost -1.4800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2550 -> 0.2708 (boost 0.0158, better) | predicted_AB: 4.4800 -> 4.2941 (deboost -0.1859, worse) | Final model input calibrated with local form: 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.4330 -> 0.3912 (deboost -0.0418, 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.6927 -> 1.0000 (boost 0.3073, worse) | predicted_BB: 0.4311 -> 0.0000 (deboost -0.4311, worse) | AB rounded to 4 (raw=4.48), rates preserved: AVG=0.250 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6281 -> 1.0000 (boost 0.3719, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3912 -> 0.2500 (deboost -0.1412, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.3912 (boost 0.1412, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"position": "2B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.0,
"predicted_AB": 4.48,
"predicted_AVG": 0.255,
"predicted_BB": 0.457,
"predicted_H": 1.14,
"predicted_HR": 0.15,
"predicted_OBP": 0.354,
"predicted_R": 0.654,
"predicted_RBI": 0.44,
"predicted_SLG": 0.428,
"predicted_SO": 0.716
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1196,
"predicted_3B": 0.0004,
"predicted_AB": 4.2941,
"predicted_AVG": 0.2708,
"predicted_BB": 0.4343,
"predicted_H": 1.1576,
"predicted_HBP": 0.14,
"predicted_HR": 0.1521,
"predicted_OBP": 0.3628,
"predicted_R": 0.6638,
"predicted_RBI": 0.4186,
"predicted_SLG": 0.433,
"predicted_SO": 0.6877
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1196,
"delta": 0.0086,
"percent_delta": 0.0775,
"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.48,
"after": 4.2941,
"delta": -0.1859,
"percent_delta": -0.0415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2708,
"delta": 0.0158,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.457,
"after": 0.4343,
"delta": -0.0227,
"percent_delta": -0.0497,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.1576,
"delta": 0.0176,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1521,
"delta": 0.0021,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3628,
"delta": 0.0088,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.654,
"after": 0.6638,
"delta": 0.0098,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4186,
"delta": -0.0214,
"percent_delta": -0.0486,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.433,
"delta": 0.005,
"percent_delta": 0.0117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.716,
"after": 0.6877,
"delta": -0.0283,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2708,
"delta": 0.0158,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 4.2941,
"delta": -0.1859,
"percent_delta": -0.0415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1196,
"predicted_3B": 0.0004,
"predicted_AB": 4.2941,
"predicted_AVG": 0.2608,
"predicted_BB": 0.4311,
"predicted_H": 1.12,
"predicted_HBP": 0.14,
"predicted_HR": 0.1465,
"predicted_OBP": 0.3283,
"predicted_R": 0.6281,
"predicted_RBI": 0.3961,
"predicted_SLG": 0.3912,
"predicted_SO": 0.6927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1196,
"after": 0.1196,
"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.2941,
"after": 4.2941,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2708,
"after": 0.2608,
"delta": -0.01,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4343,
"after": 0.4311,
"delta": -0.0032,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1576,
"after": 1.12,
"delta": -0.0376,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.14,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1521,
"after": 0.1465,
"delta": -0.0056,
"percent_delta": -0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3628,
"after": 0.3283,
"delta": -0.0345,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6638,
"after": 0.6281,
"delta": -0.0357,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4186,
"after": 0.3961,
"delta": -0.0225,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.3912,
"delta": -0.0418,
"percent_delta": -0.0965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6877,
"after": 0.6927,
"delta": 0.005,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.3912,
"delta": -0.0418,
"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=4.48), rates preserved: AVG=0.250 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1196,
"after": 0.0,
"delta": -0.1196,
"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.2941,
"after": 4.0,
"delta": -0.2941,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4311,
"after": 0.0,
"delta": -0.4311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0,
"delta": -0.12,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1465,
"after": 0.0,
"delta": -0.1465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3961,
"after": 0.0,
"delta": -0.3961,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6927,
"after": 1.0,
"delta": 0.3073,
"percent_delta": 0.4436,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6927,
"after": 1.0,
"delta": 0.3073,
"percent_delta": 0.4436,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4311,
"after": 0.0,
"delta": -0.4311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.6281,
"after": 1.0,
"delta": 0.3719,
"percent_delta": 0.5921,
"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.6281,
"after": 1.0,
"delta": 0.3719,
"percent_delta": 0.5921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2608,
"after": 0.25,
"delta": -0.0108,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3283,
"after": 0.25,
"delta": -0.0783,
"percent_delta": -0.2385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3912,
"after": 0.25,
"delta": -0.1412,
"percent_delta": -0.3609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3912,
"after": 0.25,
"delta": -0.1412,
"percent_delta": -0.3609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2608,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3283,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3912,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2608,
"delta": 0.0108,
"percent_delta": 0.0433,
"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.3283,
"delta": 0.0783,
"percent_delta": 0.313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3912,
"delta": 0.1412,
"percent_delta": 0.5648,
"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.3912,
"delta": 0.1412,
"percent_delta": 0.5648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 3.0,
"delta": -1.48,
"percent_delta": -0.3304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2608,
"delta": 0.0058,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.457,
"after": 1.0,
"delta": 0.543,
"percent_delta": 1.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 0.0,
"delta": -1.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3283,
"delta": -0.0257,
"percent_delta": -0.0726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.654,
"after": 0.0,
"delta": -0.654,
"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.428,
"after": 0.3912,
"delta": -0.0368,
"percent_delta": -0.086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.716,
"after": 2.0,
"delta": 1.284,
"percent_delta": 1.7933,
"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.716,
"after": 2.0,
"delta": 1.284,
"percent_delta": 1.7933,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 3.0,
"delta": -1.48,
"percent_delta": -0.3304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.480 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.457 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.654 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.428 | - |
| predicted_SO | 0.716 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | 0.009 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.294 | -0.186 |
| predicted_AVG | 0.271 | 0.016 |
| predicted_BB | 0.434 | -0.023 |
| predicted_H | 1.158 | 0.018 |
| predicted_HBP | 0.140 | - |
| predicted_HR | 0.152 | 0.002 |
| predicted_OBP | 0.363 | 0.009 |
| predicted_R | 0.664 | 0.010 |
| predicted_RBI | 0.419 | -0.021 |
| predicted_SLG | 0.433 | 0.005 |
| predicted_SO | 0.688 | -0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.294 | 0.000 |
| predicted_AVG | 0.261 | -0.010 |
| predicted_BB | 0.431 | -0.003 |
| predicted_H | 1.120 | -0.038 |
| predicted_HBP | 0.140 | 0.000 |
| predicted_HR | 0.146 | -0.006 |
| predicted_OBP | 0.328 | -0.035 |
| predicted_R | 0.628 | -0.036 |
| predicted_RBI | 0.396 | -0.023 |
| predicted_SLG | 0.391 | -0.042 |
| predicted_SO | 0.693 | 0.005 |
AB rounded to 4 (raw=4.48), rates preserved: AVG=0.250 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.120 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.294 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.431 |
| predicted_H | 1.000 | -0.120 |
| predicted_HR | 0.000 | -0.146 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.372 |
| predicted_RBI | 0.000 | -0.396 |
| predicted_SLG | 0.250 | -0.141 |
| predicted_SO | 1.000 | 0.307 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 8.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 2.000 | 2.000 | 0.3810 | 0.4583 | 0.5714 | 0.3810 | 0.0476 | 0.0952 | 0.0952 | 0.0952 |
| last_10 | 0.20 | 10 | - | 42.000 | 12.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 3.000 | 6.000 | 0.2857 | 0.3478 | 0.3810 | 0.2857 | 0.0238 | 0.0476 | 0.0714 | 0.1429 |
| season | 0.60 | 81 | - | 322.000 | 87.000 | 9.000 | 0.000 | 13.000 | 35.000 | 53.000 | 37.000 | 58.000 | 0.2702 | 0.3646 | 0.4193 | 0.2702 | 0.0404 | 0.1087 | 0.1149 | 0.1801 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1310 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0460 |
| predicted_AVG | 0.2919 |
| predicted_BB | 0.4040 |
| predicted_H | 1.1810 |
| predicted_HBP | 0.1400 |
| predicted_HR | 0.1550 |
| predicted_OBP | 0.3745 |
| predicted_R | 0.6770 |
| predicted_RBI | 0.3900 |
| predicted_SLG | 0.4396 |
| predicted_SO | 0.6500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1310 | 0.1196 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.4800 | 4.0460 | 4.2941 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2919 | 0.2708 | model_form_blend |
| predicted_BB | 0.4570 | 0.4040 | 0.4343 | model_form_blend |
| predicted_H | 1.1400 | 1.1810 | 1.1576 | model_form_blend |
| predicted_HBP | - | 0.1400 | 0.1400 | form_only |
| predicted_HR | 0.1500 | 0.1550 | 0.1521 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3745 | 0.3628 | model_form_blend |
| predicted_R | 0.6540 | 0.6770 | 0.6638 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3900 | 0.4186 | model_form_blend |
| predicted_SLG | 0.4280 | 0.4396 | 0.4330 | model_form_blend |
| predicted_SO | 0.7160 | 0.6500 | 0.6877 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 273 |
| Season rows before report date | 273 |
| 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260705_STL@CHC |
| game_type | full |
| mlbID | 802139 |
| playerID | 802139 |
| playerName | JJ Wetherholt |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-05 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.347 |
| sl_xwoba | 0.355 |
| sl_xba | 0.266 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 45.0 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 20.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.163 | 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 | 4.070 | 4.000 | 4.000 | Hitting_AB | 3.768 | 4.000 | 0.232 | 0.000 |
| predicted_AVG | 0.245 | 0.000 | 0.250 | Hitting_AVG | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_BB | 0.547 | 0.000 | 0.000 | Hitting_BB | 0.576 | 0.000 | -0.576 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 0.971 | 0.000 | -0.971 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_OBP | 0.350 | 0.000 | 0.250 | Hitting_OBP | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_R | 0.651 | 0.000 | 1.000 | Hitting_R | 0.620 | 0.000 | -0.620 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 0.000 | Hitting_RBI | 0.464 | 0.000 | -0.464 | 0.000 |
| predicted_SLG | 0.376 | 0.000 | 0.250 | Hitting_SLG | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_SO | 0.744 | 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 | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7440 -> 1.0000 (boost 0.2560, worse) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.7440 -> 0.8032 (boost 0.0592, worse) | predicted_AB: 4.0700 -> 3.9027 (deboost -0.1673, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3578 -> 0.3236 (deboost -0.0342, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.8091 -> 1.0000 (boost 0.1909, worse) | predicted_RBI: 0.4847 -> 0.0000 (deboost -0.4847, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.231 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6257 -> 1.0000 (boost 0.3743, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2405 -> 0.2500 (boost 0.0095, better) | predicted_SLG: 0.3481 -> 0.2500 (deboost -0.0981, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3481 (boost 0.0981, better) | predicted_AVG: 0.2500 -> 0.2405 (deboost -0.0095, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.163,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.245,
"predicted_BB": 0.547,
"predicted_H": 1.0,
"predicted_HR": 0.1,
"predicted_OBP": 0.35,
"predicted_R": 0.651,
"predicted_RBI": 0.52,
"predicted_SLG": 0.376,
"predicted_SO": 0.744
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1613,
"predicted_3B": 0.0004,
"predicted_AB": 3.9027,
"predicted_AVG": 0.2483,
"predicted_BB": 0.4835,
"predicted_H": 0.97,
"predicted_HBP": 0.288,
"predicted_HR": 0.0893,
"predicted_OBP": 0.3578,
"predicted_R": 0.6613,
"predicted_RBI": 0.5123,
"predicted_SLG": 0.3679,
"predicted_SO": 0.8032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.1613,
"delta": -0.0017,
"percent_delta": -0.0104,
"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": 3.9027,
"delta": -0.1673,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2483,
"delta": 0.0033,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.547,
"after": 0.4835,
"delta": -0.0635,
"percent_delta": -0.1161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.97,
"delta": -0.03,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0893,
"delta": -0.0107,
"percent_delta": -0.107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3578,
"delta": 0.0078,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.651,
"after": 0.6613,
"delta": 0.0103,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5123,
"delta": -0.0077,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3679,
"delta": -0.0081,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.744,
"after": 0.8032,
"delta": 0.0592,
"percent_delta": 0.0796,
"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.744,
"after": 0.8032,
"delta": 0.0592,
"percent_delta": 0.0796,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9027,
"delta": -0.1673,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.1613,
"predicted_3B": 0.0004,
"predicted_AB": 3.9027,
"predicted_AVG": 0.2405,
"predicted_BB": 0.48,
"predicted_H": 0.9385,
"predicted_HBP": 0.288,
"predicted_HR": 0.086,
"predicted_OBP": 0.3236,
"predicted_R": 0.6257,
"predicted_RBI": 0.4847,
"predicted_SLG": 0.3481,
"predicted_SO": 0.8091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1613,
"after": 0.1613,
"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.9027,
"after": 3.9027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2483,
"after": 0.2405,
"delta": -0.0078,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4835,
"after": 0.48,
"delta": -0.0035,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9385,
"delta": -0.0315,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.288,
"after": 0.288,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0893,
"after": 0.086,
"delta": -0.0033,
"percent_delta": -0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3578,
"after": 0.3236,
"delta": -0.0342,
"percent_delta": -0.0956,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6613,
"after": 0.6257,
"delta": -0.0356,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5123,
"after": 0.4847,
"delta": -0.0276,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3679,
"after": 0.3481,
"delta": -0.0198,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8032,
"after": 0.8091,
"delta": 0.0059,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3578,
"after": 0.3236,
"delta": -0.0342,
"percent_delta": -0.0956,
"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.231 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.1613,
"after": 0.0,
"delta": -0.1613,
"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.9027,
"after": 4.0,
"delta": 0.0973,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9385,
"after": 1.0,
"delta": 0.0615,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4847,
"after": 0.0,
"delta": -0.4847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8091,
"after": 1.0,
"delta": 0.1909,
"percent_delta": 0.2359,
"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.8091,
"after": 1.0,
"delta": 0.1909,
"percent_delta": 0.2359,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4847,
"after": 0.0,
"delta": -0.4847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6257,
"after": 1.0,
"delta": 0.3743,
"percent_delta": 0.5982,
"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.6257,
"after": 1.0,
"delta": 0.3743,
"percent_delta": 0.5982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2405,
"after": 0.25,
"delta": 0.0095,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3236,
"after": 0.25,
"delta": -0.0736,
"percent_delta": -0.2274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3481,
"after": 0.25,
"delta": -0.0981,
"percent_delta": -0.2818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2405,
"after": 0.25,
"delta": 0.0095,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3481,
"after": 0.25,
"delta": -0.0981,
"percent_delta": -0.2818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2405,
"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.3236,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3481,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2405,
"delta": -0.0095,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3236,
"delta": 0.0736,
"percent_delta": 0.2946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3481,
"delta": 0.0981,
"percent_delta": 0.3925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3481,
"delta": 0.0981,
"percent_delta": 0.3925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2405,
"delta": -0.0095,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 4.0,
"delta": -0.07,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2405,
"delta": -0.0045,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.547,
"after": 0.0,
"delta": -0.547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3236,
"delta": -0.0264,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3481,
"delta": -0.0279,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.744,
"after": 1.0,
"delta": 0.256,
"percent_delta": 0.3441,
"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.744,
"after": 1.0,
"delta": 0.256,
"percent_delta": 0.3441,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.547 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.651 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.744 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.161 | -0.002 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.903 | -0.167 |
| predicted_AVG | 0.248 | 0.003 |
| predicted_BB | 0.483 | -0.064 |
| predicted_H | 0.970 | -0.030 |
| predicted_HBP | 0.288 | - |
| predicted_HR | 0.089 | -0.011 |
| predicted_OBP | 0.358 | 0.008 |
| predicted_R | 0.661 | 0.010 |
| predicted_RBI | 0.512 | -0.008 |
| predicted_SLG | 0.368 | -0.008 |
| predicted_SO | 0.803 | 0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.161 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.903 | 0.000 |
| predicted_AVG | 0.240 | -0.008 |
| predicted_BB | 0.480 | -0.004 |
| predicted_H | 0.939 | -0.031 |
| predicted_HBP | 0.288 | 0.000 |
| predicted_HR | 0.086 | -0.003 |
| predicted_OBP | 0.324 | -0.034 |
| predicted_R | 0.626 | -0.036 |
| predicted_RBI | 0.485 | -0.028 |
| predicted_SLG | 0.348 | -0.020 |
| predicted_SO | 0.809 | 0.006 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.231 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.161 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.097 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.000 | -0.480 |
| predicted_H | 1.000 | 0.061 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.250 | -0.074 |
| predicted_R | 1.000 | 0.374 |
| predicted_RBI | 0.000 | -0.485 |
| predicted_SLG | 0.250 | -0.098 |
| predicted_SO | 1.000 | 0.191 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 19.000 | 6.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 1.000 | 6.000 | 0.3158 | 0.4091 | 0.3684 | 0.3158 | 0.0000 | 0.2105 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 2.000 | 10.000 | 0.1944 | 0.2927 | 0.2222 | 0.1944 | 0.0000 | 0.1111 | 0.0556 | 0.2778 |
| season | 0.60 | 86 | - | 314.000 | 79.000 | 14.000 | 0.000 | 10.000 | 38.000 | 56.000 | 47.000 | 64.000 | 0.2516 | 0.3876 | 0.3917 | 0.2516 | 0.0319 | 0.1210 | 0.1497 | 0.2038 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6800 |
| predicted_AVG | 0.2526 |
| predicted_BB | 0.3990 |
| predicted_H | 0.9300 |
| predicted_HBP | 0.2880 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.3681 |
| predicted_R | 0.6750 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.3572 |
| predicted_SO | 0.8820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.1590 | 0.1613 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0700 | 3.6800 | 3.9027 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2526 | 0.2483 | model_form_blend |
| predicted_BB | 0.5470 | 0.3990 | 0.4835 | model_form_blend |
| predicted_H | 1.0000 | 0.9300 | 0.9700 | model_form_blend |
| predicted_HBP | - | 0.2880 | 0.2880 | form_only |
| predicted_HR | 0.1000 | 0.0750 | 0.0893 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3681 | 0.3578 | model_form_blend |
| predicted_R | 0.6510 | 0.6750 | 0.6613 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5020 | 0.5123 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3572 | 0.3679 | model_form_blend |
| predicted_SO | 0.7440 | 0.8820 | 0.8032 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.252 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | C |
| gameID | 20260705_STL@CHC |
| game_type | full |
| mlbID | 671056 |
| playerID | 671056 |
| playerName | Iván Herrera |
| pos | DH |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-05 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.357 |
| sl_xwoba | 0.359 |
| sl_xba | 0.26 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 42.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.114 | 1.000 | 0.000 | Hitting_2B | 0.105 | 0.000 | 0.895 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.316 | 2.000 | 1.684 | 2.000 |
| predicted_AVG | 0.273 | 0.500 | 0.333 | Hitting_AVG | 0.273 | 0.000 | 0.227 | 0.500 |
| predicted_BB | 0.284 | 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.670 | 2.000 | 1.000 | Hitting_H | 0.632 | 0.000 | 1.368 | 2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_OBP | 0.322 | 0.500 | 0.333 | Hitting_OBP | 0.365 | 0.000 | 0.135 | 0.500 |
| predicted_R | 0.398 | 0.000 | 0.000 | Hitting_R | 0.421 | 0.000 | -0.421 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.474 | 0.000 | -0.474 | 0.000 |
| predicted_SLG | 0.445 | 0.750 | 0.333 | Hitting_SLG | 0.523 | 0.000 | 0.227 | 0.750 |
| predicted_SO | 0.625 | 1.000 | 1.000 | Hitting_SO | 0.579 | 0.000 | 0.421 | 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.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_RBI: 0.4400 -> 0.0000 (deboost -0.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.5000 -> 2.6230 (boost 0.1230, better) | predicted_AVG: 0.2730 -> 0.2627 (deboost -0.0103, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3244 -> 0.3298 (boost 0.0054, better) | predicted_AVG: 0.2627 -> 0.2503 (deboost -0.0124, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.4403 -> 1.0000 (boost 0.5597, better) | predicted_BB: 0.3114 -> 0.0000 (deboost -0.3114, worse) | AB rounded to 3 (raw=2.62), rates preserved: AVG=0.250 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3827 -> 0.0000 (deboost -0.3827, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2503 -> 0.3330 (boost 0.0827, better) | predicted_SLG: 0.4507 -> 0.3330 (deboost -0.1177, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4507 (boost 0.1177, better) | predicted_AVG: 0.3330 -> 0.2503 (deboost -0.0827, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676369",
"player_name": "Nelson Velázquez",
"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.114,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.273,
"predicted_BB": 0.284,
"predicted_H": 0.67,
"predicted_HR": 0.13,
"predicted_OBP": 0.322,
"predicted_R": 0.398,
"predicted_RBI": 0.44,
"predicted_SLG": 0.445,
"predicted_SO": 0.625
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1147,
"predicted_3B": 0.0014,
"predicted_AB": 2.623,
"predicted_AVG": 0.2627,
"predicted_BB": 0.3137,
"predicted_H": 0.6785,
"predicted_HBP": 0.034,
"predicted_HR": 0.1413,
"predicted_OBP": 0.3244,
"predicted_R": 0.4045,
"predicted_RBI": 0.4653,
"predicted_SLG": 0.4494,
"predicted_SO": 0.6305
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.1147,
"delta": 0.0007,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.623,
"delta": 0.123,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2627,
"delta": -0.0103,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.3137,
"delta": 0.0297,
"percent_delta": 0.1046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6785,
"delta": 0.0085,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1413,
"delta": 0.0113,
"percent_delta": 0.0869,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3244,
"delta": 0.0024,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 0.4045,
"delta": 0.0065,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4653,
"delta": 0.0253,
"percent_delta": 0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4494,
"delta": 0.0044,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.625,
"after": 0.6305,
"delta": 0.0055,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.623,
"delta": 0.123,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2627,
"delta": -0.0103,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1147,
"predicted_3B": 0.0014,
"predicted_AB": 2.623,
"predicted_AVG": 0.2503,
"predicted_BB": 0.3114,
"predicted_H": 0.6564,
"predicted_HBP": 0.034,
"predicted_HR": 0.1361,
"predicted_OBP": 0.3298,
"predicted_R": 0.3827,
"predicted_RBI": 0.4403,
"predicted_SLG": 0.4507,
"predicted_SO": 0.6351
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1147,
"after": 0.1147,
"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.623,
"after": 2.623,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2627,
"after": 0.2503,
"delta": -0.0124,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3137,
"after": 0.3114,
"delta": -0.0023,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6785,
"after": 0.6564,
"delta": -0.0221,
"percent_delta": -0.0326,
"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.1413,
"after": 0.1361,
"delta": -0.0052,
"percent_delta": -0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3244,
"after": 0.3298,
"delta": 0.0054,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4045,
"after": 0.3827,
"delta": -0.0218,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4653,
"after": 0.4403,
"delta": -0.025,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4494,
"after": 0.4507,
"delta": 0.0013,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6305,
"after": 0.6351,
"delta": 0.0046,
"percent_delta": 0.0073,
"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.3244,
"after": 0.3298,
"delta": 0.0054,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2627,
"after": 0.2503,
"delta": -0.0124,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.62), rates preserved: AVG=0.250 HR/AB=0.052",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1147,
"after": 0.0,
"delta": -0.1147,
"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.623,
"after": 3.0,
"delta": 0.377,
"percent_delta": 0.1437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3114,
"after": 0.0,
"delta": -0.3114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6564,
"after": 1.0,
"delta": 0.3436,
"percent_delta": 0.5235,
"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.1361,
"after": 0.0,
"delta": -0.1361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4403,
"after": 1.0,
"delta": 0.5597,
"percent_delta": 1.2712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6351,
"after": 1.0,
"delta": 0.3649,
"percent_delta": 0.5746,
"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.4403,
"after": 1.0,
"delta": 0.5597,
"percent_delta": 1.2712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3114,
"after": 0.0,
"delta": -0.3114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 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.3827,
"after": 0.0,
"delta": -0.3827,
"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.3827,
"after": 0.0,
"delta": -0.3827,
"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.2503,
"after": 0.333,
"delta": 0.0827,
"percent_delta": 0.3304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3298,
"after": 0.333,
"delta": 0.0032,
"percent_delta": 0.0097,
"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.4507,
"after": 0.333,
"delta": -0.1177,
"percent_delta": -0.2611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.2503,
"after": 0.333,
"delta": 0.0827,
"percent_delta": 0.3304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4507,
"after": 0.333,
"delta": -0.1177,
"percent_delta": -0.2611,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 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": 4.0,
"predicted_AVG": 0.2503,
"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.3298,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4507,
"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.2503,
"delta": -0.0827,
"percent_delta": -0.2484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3298,
"delta": -0.0032,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4507,
"delta": 0.1177,
"percent_delta": 0.3535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4507,
"delta": 0.1177,
"percent_delta": 0.3535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2503,
"delta": -0.0827,
"percent_delta": -0.2484,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.886,
"percent_delta": 7.7719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2503,
"delta": -0.0227,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"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.322,
"after": 0.3298,
"delta": 0.0078,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 0.0,
"delta": -0.398,
"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.445,
"after": 0.4507,
"delta": 0.0057,
"percent_delta": 0.0128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.625,
"after": 1.0,
"delta": 0.375,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.284 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.398 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.445 | - |
| predicted_SO | 0.625 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.115 | 0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.623 | 0.123 |
| predicted_AVG | 0.263 | -0.010 |
| predicted_BB | 0.314 | 0.030 |
| predicted_H | 0.678 | 0.008 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.141 | 0.011 |
| predicted_OBP | 0.324 | 0.002 |
| predicted_R | 0.405 | 0.007 |
| predicted_RBI | 0.465 | 0.025 |
| predicted_SLG | 0.449 | 0.004 |
| predicted_SO | 0.630 | 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.115 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.623 | 0.000 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.311 | -0.002 |
| predicted_H | 0.656 | -0.022 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.136 | -0.005 |
| predicted_OBP | 0.330 | 0.005 |
| predicted_R | 0.383 | -0.022 |
| predicted_RBI | 0.440 | -0.025 |
| predicted_SLG | 0.451 | 0.001 |
| predicted_SO | 0.635 | 0.005 |
AB rounded to 3 (raw=2.62), rates preserved: AVG=0.250 HR/AB=0.052
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.115 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.377 |
| predicted_AVG | 0.333 | 0.083 |
| predicted_BB | 0.000 | -0.311 |
| predicted_H | 1.000 | 0.344 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 0.000 | -0.383 |
| predicted_RBI | 1.000 | 0.560 |
| predicted_SLG | 0.333 | -0.118 |
| predicted_SO | 1.000 | 0.365 |
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 | -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 | - | 10.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 1.000 | 0.2000 | 0.3571 | 0.5000 | 0.2000 | 0.1000 | 0.3000 | 0.3000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 22.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 6.000 | 0.1818 | 0.2963 | 0.3636 | 0.1818 | 0.0454 | 0.1364 | 0.1818 | 0.2727 |
| season | 0.60 | 18 | - | 44.000 | 12.000 | 2.000 | 0.000 | 3.000 | 9.000 | 7.000 | 5.000 | 11.000 | 0.2727 | 0.3529 | 0.5227 | 0.2727 | 0.0682 | 0.2046 | 0.1136 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0040 |
| predicted_AB | 2.8600 |
| predicted_AVG | 0.2429 |
| predicted_BB | 0.3710 |
| predicted_H | 0.6950 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.1630 |
| predicted_OBP | 0.3290 |
| predicted_R | 0.4170 |
| predicted_RBI | 0.5140 |
| predicted_SLG | 0.4579 |
| predicted_SO | 0.6410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.1160 | 0.1147 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.5000 | 2.8600 | 2.6230 | model_form_blend |
| predicted_AVG | 0.2730 | 0.2429 | 0.2627 | model_form_blend |
| predicted_BB | 0.2840 | 0.3710 | 0.3137 | model_form_blend |
| predicted_H | 0.6700 | 0.6950 | 0.6785 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.1300 | 0.1630 | 0.1413 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3290 | 0.3244 | model_form_blend |
| predicted_R | 0.3980 | 0.4170 | 0.4045 | model_form_blend |
| predicted_RBI | 0.4400 | 0.5140 | 0.4653 | model_form_blend |
| predicted_SLG | 0.4450 | 0.4579 | 0.4494 | model_form_blend |
| predicted_SO | 0.6250 | 0.6410 | 0.6305 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 18 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260705_STL@CHC |
| game_type | ph |
| mlbID | 676369 |
| note | Popped out for Torres, B in the 7th. |
| playerID | 676369 |
| playerName | Nelson Velázquez |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.381 |
| sl_xwoba | 0.418 |
| sl_xba | 0.304 |
| sl_xslg | 0.595 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 67.6 |
| sl_exit_velocity_avg | 94.9 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 49.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 3.740 | 4.000 | 4.000 | Hitting_AB | 3.802 | 3.000 | 0.198 | 1.000 |
| predicted_AVG | 0.255 | 0.250 | 0.250 | Hitting_AVG | 0.236 | 0.333 | 0.014 | -0.083 |
| predicted_BB | 0.338 | 0.000 | 0.000 | Hitting_BB | 0.336 | 1.000 | -0.336 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.950 | 1.000 | 1.000 | Hitting_H | 0.897 | 1.000 | 0.103 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.250 | Hitting_OBP | 0.305 | 0.500 | -0.055 | -0.250 |
| predicted_R | 0.468 | 0.000 | 0.000 | Hitting_R | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.461 | 0.000 | -0.461 | 0.000 |
| predicted_SLG | 0.381 | 0.250 | 0.250 | Hitting_SLG | 0.327 | 0.333 | -0.077 | -0.083 |
| predicted_SO | 0.792 | 0.000 | 1.000 | Hitting_SO | 0.823 | 0.000 | -0.823 | 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.7400 -> 4.0000 (boost 0.2600, better) |
| Biggest Deboost | predicted_SO: 0.7920 -> 0.0000 (deboost -0.7920, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2550 -> 0.2621 (boost 0.0071, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3316 -> 0.3147 (deboost -0.0169, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5355 -> 1.0000 (boost 0.4645, better) | predicted_BB: 0.3351 -> 0.0000 (deboost -0.3351, worse) | AB rounded to 4 (raw=3.74), rates preserved: AVG=0.251 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4641 -> 0.0000 (deboost -0.4641, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3691 -> 0.2500 (deboost -0.1191, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3691 (boost 0.1191, better) | - | 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.143,
"predicted_3B": 0.026,
"predicted_AB": 3.74,
"predicted_AVG": 0.255,
"predicted_BB": 0.338,
"predicted_H": 0.95,
"predicted_HR": 0.09,
"predicted_OBP": 0.328,
"predicted_R": 0.468,
"predicted_RBI": 0.54,
"predicted_SLG": 0.381,
"predicted_SO": 0.792
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1213,
"predicted_3B": 0.0213,
"predicted_AB": 3.7128,
"predicted_AVG": 0.2621,
"predicted_BB": 0.3376,
"predicted_H": 0.9704,
"predicted_HBP": 0.038,
"predicted_HR": 0.0926,
"predicted_OBP": 0.3316,
"predicted_R": 0.4905,
"predicted_RBI": 0.5659,
"predicted_SLG": 0.3819,
"predicted_SO": 0.7712
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1213,
"delta": -0.0217,
"percent_delta": -0.1517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0213,
"delta": -0.0047,
"percent_delta": -0.1808,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.74,
"after": 3.7128,
"delta": -0.0272,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2621,
"delta": 0.0071,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.3376,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9704,
"delta": 0.0204,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0926,
"delta": 0.0026,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3316,
"delta": 0.0036,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.4905,
"delta": 0.0225,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5659,
"delta": 0.0259,
"percent_delta": 0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.3819,
"delta": 0.0009,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.7712,
"delta": -0.0208,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2621,
"delta": 0.0071,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1213,
"predicted_3B": 0.0213,
"predicted_AB": 3.7128,
"predicted_AVG": 0.2529,
"predicted_BB": 0.3351,
"predicted_H": 0.9389,
"predicted_HBP": 0.038,
"predicted_HR": 0.0892,
"predicted_OBP": 0.3147,
"predicted_R": 0.4641,
"predicted_RBI": 0.5355,
"predicted_SLG": 0.3691,
"predicted_SO": 0.7768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1213,
"after": 0.1213,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0213,
"after": 0.0213,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7128,
"after": 3.7128,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2621,
"after": 0.2529,
"delta": -0.0092,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3376,
"after": 0.3351,
"delta": -0.0025,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9704,
"after": 0.9389,
"delta": -0.0315,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0926,
"after": 0.0892,
"delta": -0.0034,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3316,
"after": 0.3147,
"delta": -0.0169,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4905,
"after": 0.4641,
"delta": -0.0264,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5659,
"after": 0.5355,
"delta": -0.0304,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3819,
"after": 0.3691,
"delta": -0.0128,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7712,
"after": 0.7768,
"delta": 0.0056,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3316,
"after": 0.3147,
"delta": -0.0169,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.251 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.1213,
"after": 0.0,
"delta": -0.1213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0213,
"after": 0.0,
"delta": -0.0213,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7128,
"after": 4.0,
"delta": 0.2872,
"percent_delta": 0.0774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3351,
"after": 0.0,
"delta": -0.3351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9389,
"after": 1.0,
"delta": 0.0611,
"percent_delta": 0.0651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0892,
"after": 0.0,
"delta": -0.0892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5355,
"after": 1.0,
"delta": 0.4645,
"percent_delta": 0.8674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7768,
"after": 1.0,
"delta": 0.2232,
"percent_delta": 0.2873,
"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.5355,
"after": 1.0,
"delta": 0.4645,
"percent_delta": 0.8674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3351,
"after": 0.0,
"delta": -0.3351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.4641,
"after": 0.0,
"delta": -0.4641,
"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.4641,
"after": 0.0,
"delta": -0.4641,
"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.2529,
"after": 0.25,
"delta": -0.0029,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3147,
"after": 0.25,
"delta": -0.0647,
"percent_delta": -0.2056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.3691,
"after": 0.25,
"delta": -0.1191,
"percent_delta": -0.3227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.3691,
"after": 0.25,
"delta": -0.1191,
"percent_delta": -0.3227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2529,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3147,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3691,
"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.2529,
"delta": 0.0029,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3147,
"delta": 0.0647,
"percent_delta": 0.2589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3691,
"delta": 0.1191,
"percent_delta": 0.4763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.3691,
"delta": 0.1191,
"percent_delta": 0.4763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"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.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.74,
"after": 4.0,
"delta": 0.26,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2529,
"delta": -0.0021,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"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.328,
"after": 0.3147,
"delta": -0.0133,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.3691,
"delta": -0.0119,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.0,
"delta": -0.792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.74,
"after": 4.0,
"delta": 0.26,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.792,
"after": 0.0,
"delta": -0.792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.740 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.381 | - |
| predicted_SO | 0.792 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | -0.022 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 3.713 | -0.027 |
| predicted_AVG | 0.262 | 0.007 |
| predicted_BB | 0.338 | -0.000 |
| predicted_H | 0.970 | 0.020 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.093 | 0.003 |
| predicted_OBP | 0.332 | 0.004 |
| predicted_R | 0.490 | 0.022 |
| predicted_RBI | 0.566 | 0.026 |
| predicted_SLG | 0.382 | 0.001 |
| predicted_SO | 0.771 | -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.021 | 0.000 |
| predicted_AB | 3.713 | 0.000 |
| predicted_AVG | 0.253 | -0.009 |
| predicted_BB | 0.335 | -0.003 |
| predicted_H | 0.939 | -0.032 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.089 | -0.003 |
| predicted_OBP | 0.315 | -0.017 |
| predicted_R | 0.464 | -0.026 |
| predicted_RBI | 0.535 | -0.030 |
| predicted_SLG | 0.369 | -0.013 |
| predicted_SO | 0.777 | 0.006 |
AB rounded to 4 (raw=3.74), rates preserved: AVG=0.251 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.121 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.287 |
| predicted_AVG | 0.250 | -0.003 |
| predicted_BB | 0.000 | -0.335 |
| predicted_H | 1.000 | 0.061 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 0.000 | -0.464 |
| predicted_RBI | 1.000 | 0.465 |
| predicted_SLG | 0.250 | -0.119 |
| predicted_SO | 1.000 | 0.223 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 18.000 | 6.000 | 0.000 | 0.000 | 1.000 | 5.000 | 3.000 | 2.000 | 4.000 | 0.3333 | 0.4000 | 0.5000 | 0.3333 | 0.0556 | 0.2778 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 0.000 | 0.000 | 1.000 | 6.000 | 6.000 | 3.000 | 5.000 | 0.2857 | 0.3421 | 0.3714 | 0.2857 | 0.0286 | 0.1714 | 0.0857 | 0.1429 |
| season | 0.60 | 77 | - | 288.000 | 72.000 | 11.000 | 2.000 | 4.000 | 37.000 | 36.000 | 26.000 | 61.000 | 0.2500 | 0.3179 | 0.3438 | 0.2500 | 0.0139 | 0.1285 | 0.0903 | 0.2118 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.6760 |
| predicted_AVG | 0.2716 |
| predicted_BB | 0.3370 |
| predicted_H | 0.9980 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.3364 |
| predicted_R | 0.5210 |
| predicted_RBI | 0.6010 |
| predicted_SLG | 0.3830 |
| predicted_SO | 0.7430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.0920 | 0.1213 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0213 | model_form_blend |
| predicted_AB | 3.7400 | 3.6760 | 3.7128 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2716 | 0.2621 | model_form_blend |
| predicted_BB | 0.3380 | 0.3370 | 0.3376 | model_form_blend |
| predicted_H | 0.9500 | 0.9980 | 0.9704 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.0900 | 0.0960 | 0.0926 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3364 | 0.3316 | model_form_blend |
| predicted_R | 0.4680 | 0.5210 | 0.4905 | model_form_blend |
| predicted_RBI | 0.5400 | 0.6010 | 0.5659 | model_form_blend |
| predicted_SLG | 0.3810 | 0.3830 | 0.3819 | model_form_blend |
| predicted_SO | 0.7920 | 0.7430 | 0.7712 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260705_STL@CHC |
| game_type | full |
| mlbID | 691026 |
| playerID | 691026 |
| playerName | Masyn Winn |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-05 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.299 |
| sl_xwoba | 0.304 |
| sl_xba | 0.258 |
| sl_xslg | 0.335 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 21.6 |
| 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.157 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.667 | 4.000 | 3.000 | Hitting_AB | 2.823 | 3.000 | 1.177 | 1.000 |
| predicted_AVG | 0.290 | 0.000 | 0.333 | Hitting_AVG | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_BB | 0.196 | 0.000 | 0.000 | Hitting_BB | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.646 | 0.000 | -0.646 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.314 | 0.000 | 0.333 | Hitting_OBP | 0.288 | 0.250 | -0.288 | -0.250 |
| predicted_R | 0.275 | 0.000 | 0.000 | Hitting_R | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SLG | 0.400 | 0.000 | 0.333 | Hitting_SLG | 0.343 | 0.000 | -0.343 | 0.000 |
| predicted_SO | 0.412 | 0.000 | 0.000 | Hitting_SO | 0.500 | 1.000 | -0.500 | -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: 2.6670 -> 4.0000 (boost 1.3330, better) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.6670 -> 2.7947 (boost 0.1277, better) | predicted_AVG: 0.2900 -> 0.2784 (deboost -0.0116, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2784 -> 0.2638 (deboost -0.0146, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.7372 -> 1.0000 (boost 0.2628, better) | predicted_SO: 0.4529 -> 0.0000 (deboost -0.4529, better) | AB rounded to 3 (raw=2.79), rates preserved: AVG=0.264 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3007 -> 0.0000 (deboost -0.3007, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2638 -> 0.3330 (boost 0.0692, better) | predicted_SLG: 0.3954 -> 0.3330 (deboost -0.0624, 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.3954 (boost 0.0624, better) | predicted_AVG: 0.3330 -> 0.2638 (deboost -0.0692, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665877",
"player_name": "José Fermín",
"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.157,
"predicted_3B": 0.0,
"predicted_AB": 2.667,
"predicted_AVG": 0.29,
"predicted_BB": 0.196,
"predicted_H": 0.75,
"predicted_HR": 0.06,
"predicted_OBP": 0.314,
"predicted_R": 0.275,
"predicted_RBI": 0.3,
"predicted_SLG": 0.4,
"predicted_SO": 0.412
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1846,
"predicted_3B": 0.0008,
"predicted_AB": 2.7947,
"predicted_AVG": 0.2784,
"predicted_BB": 0.208,
"predicted_H": 0.762,
"predicted_HBP": 0.004,
"predicted_HR": 0.0628,
"predicted_OBP": 0.3138,
"predicted_R": 0.3178,
"predicted_RBI": 0.302,
"predicted_SLG": 0.402,
"predicted_SO": 0.4496
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1846,
"delta": 0.0276,
"percent_delta": 0.1758,
"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.667,
"after": 2.7947,
"delta": 0.1277,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2784,
"delta": -0.0116,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.208,
"delta": 0.012,
"percent_delta": 0.0612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.762,
"delta": 0.012,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0628,
"delta": 0.0028,
"percent_delta": 0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3138,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.275,
"after": 0.3178,
"delta": 0.0428,
"percent_delta": 0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.302,
"delta": 0.002,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.402,
"delta": 0.002,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.412,
"after": 0.4496,
"delta": 0.0376,
"percent_delta": 0.0913,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.667,
"after": 2.7947,
"delta": 0.1277,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2784,
"delta": -0.0116,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1846,
"predicted_3B": 0.0008,
"predicted_AB": 2.7947,
"predicted_AVG": 0.2638,
"predicted_BB": 0.2065,
"predicted_H": 0.7372,
"predicted_HBP": 0.004,
"predicted_HR": 0.0605,
"predicted_OBP": 0.3144,
"predicted_R": 0.3007,
"predicted_RBI": 0.2858,
"predicted_SLG": 0.3954,
"predicted_SO": 0.4529
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1846,
"after": 0.1846,
"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.7947,
"after": 2.7947,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2784,
"after": 0.2638,
"delta": -0.0146,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.208,
"after": 0.2065,
"delta": -0.0015,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.762,
"after": 0.7372,
"delta": -0.0248,
"percent_delta": -0.0325,
"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.0628,
"after": 0.0605,
"delta": -0.0023,
"percent_delta": -0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3138,
"after": 0.3144,
"delta": 0.0006,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3178,
"after": 0.3007,
"delta": -0.0171,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.302,
"after": 0.2858,
"delta": -0.0162,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3954,
"delta": -0.0066,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4496,
"after": 0.4529,
"delta": 0.0033,
"percent_delta": 0.0073,
"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.2784,
"after": 0.2638,
"delta": -0.0146,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.79), rates preserved: AVG=0.264 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1846,
"after": 0.0,
"delta": -0.1846,
"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.7947,
"after": 3.0,
"delta": 0.2053,
"percent_delta": 0.0735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2065,
"after": 0.0,
"delta": -0.2065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7372,
"after": 1.0,
"delta": 0.2628,
"percent_delta": 0.3565,
"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.0605,
"after": 0.0,
"delta": -0.0605,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2858,
"after": 0.0,
"delta": -0.2858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4529,
"after": 0.0,
"delta": -0.4529,
"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.7372,
"after": 1.0,
"delta": 0.2628,
"percent_delta": 0.3565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4529,
"after": 0.0,
"delta": -0.4529,
"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.3007,
"after": 0.0,
"delta": -0.3007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3007,
"after": 0.0,
"delta": -0.3007,
"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.2638,
"after": 0.333,
"delta": 0.0692,
"percent_delta": 0.2623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3144,
"after": 0.333,
"delta": 0.0186,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3954,
"after": 0.333,
"delta": -0.0624,
"percent_delta": -0.1578,
"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.2638,
"after": 0.333,
"delta": 0.0692,
"percent_delta": 0.2623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3954,
"after": 0.333,
"delta": -0.0624,
"percent_delta": -0.1578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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_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.2638,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3144,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3954,
"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.333,
"after": 0.2638,
"delta": -0.0692,
"percent_delta": -0.2078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3144,
"delta": -0.0186,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3954,
"delta": 0.0624,
"percent_delta": 0.1873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3954,
"delta": 0.0624,
"percent_delta": 0.1873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2638,
"delta": -0.0692,
"percent_delta": -0.2078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.667,
"after": 4.0,
"delta": 1.333,
"percent_delta": 0.4998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2638,
"delta": -0.0262,
"percent_delta": -0.0903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3144,
"delta": 0.0004,
"percent_delta": 0.0013,
"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.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3954,
"delta": -0.0046,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"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": 2.667,
"after": 4.0,
"delta": 1.333,
"percent_delta": 0.4998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.667 | - |
| predicted_AVG | 0.290 | - |
| predicted_BB | 0.196 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.275 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 0.412 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.028 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.795 | 0.128 |
| predicted_AVG | 0.278 | -0.012 |
| predicted_BB | 0.208 | 0.012 |
| predicted_H | 0.762 | 0.012 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.063 | 0.003 |
| predicted_OBP | 0.314 | -0.000 |
| predicted_R | 0.318 | 0.043 |
| predicted_RBI | 0.302 | 0.002 |
| predicted_SLG | 0.402 | 0.002 |
| predicted_SO | 0.450 | 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.185 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.795 | 0.000 |
| predicted_AVG | 0.264 | -0.015 |
| predicted_BB | 0.206 | -0.002 |
| predicted_H | 0.737 | -0.025 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.060 | -0.002 |
| predicted_OBP | 0.314 | 0.001 |
| predicted_R | 0.301 | -0.017 |
| predicted_RBI | 0.286 | -0.016 |
| predicted_SLG | 0.395 | -0.007 |
| predicted_SO | 0.453 | 0.003 |
AB rounded to 3 (raw=2.79), rates preserved: AVG=0.264 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.185 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.205 |
| predicted_AVG | 0.333 | 0.069 |
| predicted_BB | 0.000 | -0.206 |
| predicted_H | 1.000 | 0.263 |
| predicted_HR | 0.000 | -0.060 |
| predicted_OBP | 0.333 | 0.019 |
| predicted_R | 0.000 | -0.301 |
| predicted_RBI | 0.000 | -0.286 |
| predicted_SLG | 0.333 | -0.062 |
| predicted_SO | 0.000 | -0.453 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 3.000 | 0.2667 | 0.3125 | 0.4000 | 0.2667 | 0.0000 | 0.0667 | 0.0667 | 0.2000 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 3.000 | 0.000 | 1.000 | 2.000 | 6.000 | 3.000 | 4.000 | 0.2581 | 0.3235 | 0.4516 | 0.2581 | 0.0323 | 0.0645 | 0.0968 | 0.1290 |
| season | 0.60 | 51 | - | 136.000 | 36.000 | 8.000 | 0.000 | 3.000 | 16.000 | 14.000 | 10.000 | 21.000 | 0.2647 | 0.3129 | 0.3897 | 0.2647 | 0.0221 | 0.1177 | 0.0735 | 0.1544 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2260 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9860 |
| predicted_AVG | 0.2611 |
| predicted_BB | 0.2260 |
| predicted_H | 0.7800 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.3134 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.3050 |
| predicted_SLG | 0.4050 |
| predicted_SO | 0.5060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.2260 | 0.1846 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.6670 | 2.9860 | 2.7947 | model_form_blend |
| predicted_AVG | 0.2900 | 0.2611 | 0.2784 | model_form_blend |
| predicted_BB | 0.1960 | 0.2260 | 0.2080 | model_form_blend |
| predicted_H | 0.7500 | 0.7800 | 0.7620 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0600 | 0.0670 | 0.0628 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3134 | 0.3138 | model_form_blend |
| predicted_R | 0.2750 | 0.3820 | 0.3178 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3050 | 0.3020 | model_form_blend |
| predicted_SLG | 0.4000 | 0.4050 | 0.4020 | model_form_blend |
| predicted_SO | 0.4120 | 0.5060 | 0.4496 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 96 |
| Season rows before report date | 96 |
| Report year | 2026 |
| Profile rows used | 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.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_STL@CHC |
| game_type | full |
| mlbID | 665877 |
| playerID | 665877 |
| playerName | José Fermín |
| pos | LF |
| started | True |
| startingPosition | 3B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-05 |
| sl_k_percent | 14.1 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.312 |
| sl_xwoba | 0.283 |
| sl_xba | 0.244 |
| sl_xslg | 0.333 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 30.2 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 14.2 |
| sl_swing_percent | 40.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.141 | 0.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.375 | 4.000 | 3.000 | Hitting_AB | 3.550 | 4.000 | 0.450 | 0.000 |
| predicted_AVG | 0.250 | 0.000 | 0.333 | Hitting_AVG | 0.255 | 0.250 | -0.255 | -0.250 |
| predicted_BB | 0.203 | 0.000 | 0.000 | Hitting_BB | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.906 | 1.000 | -0.906 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_OBP | 0.292 | 0.000 | 0.333 | Hitting_OBP | 0.290 | 0.250 | -0.290 | -0.250 |
| predicted_R | 0.469 | 0.000 | 0.000 | Hitting_R | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_SLG | 0.426 | 0.000 | 0.333 | Hitting_SLG | 0.408 | 0.250 | -0.408 | -0.250 |
| predicted_SO | 0.766 | 2.000 | 1.000 | Hitting_SO | 0.761 | 1.000 | 1.239 | 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.7660 -> 2.0000 (boost 1.2340, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4260 -> 0.4348 (boost 0.0088, better) | predicted_AVG: 0.2500 -> 0.2438 (deboost -0.0062, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4348 -> 0.4140 (deboost -0.0208, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7510 -> 1.0000 (boost 0.2490, worse) | predicted_RBI: 0.5062 -> 0.0000 (deboost -0.5062, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.224 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4698 -> 0.0000 (deboost -0.4698, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2237 -> 0.3330 (boost 0.1093, better) | predicted_SLG: 0.4140 -> 0.3330 (deboost -0.0810, 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.4140 (boost 0.0810, better) | predicted_AVG: 0.3330 -> 0.2237 (deboost -0.1093, 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.141,
"predicted_3B": 0.016,
"predicted_AB": 3.375,
"predicted_AVG": 0.25,
"predicted_BB": 0.203,
"predicted_H": 0.77,
"predicted_HR": 0.15,
"predicted_OBP": 0.292,
"predicted_R": 0.469,
"predicted_RBI": 0.49,
"predicted_SLG": 0.426,
"predicted_SO": 0.766
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1218,
"predicted_3B": 0.0135,
"predicted_AB": 3.4066,
"predicted_AVG": 0.2438,
"predicted_BB": 0.2197,
"predicted_H": 0.7875,
"predicted_HBP": 0.012,
"predicted_HR": 0.1729,
"predicted_OBP": 0.2901,
"predicted_R": 0.4965,
"predicted_RBI": 0.535,
"predicted_SLG": 0.4348,
"predicted_SO": 0.7456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.141,
"after": 0.1218,
"delta": -0.0192,
"percent_delta": -0.1362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0135,
"delta": -0.0025,
"percent_delta": -0.1563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.375,
"after": 3.4066,
"delta": 0.0316,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2438,
"delta": -0.0062,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.203,
"after": 0.2197,
"delta": 0.0167,
"percent_delta": 0.0823,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7875,
"delta": 0.0175,
"percent_delta": 0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1729,
"delta": 0.0229,
"percent_delta": 0.1527,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2901,
"delta": -0.0019,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.4965,
"delta": 0.0275,
"percent_delta": 0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.535,
"delta": 0.045,
"percent_delta": 0.0918,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.4348,
"delta": 0.0088,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 0.7456,
"delta": -0.0204,
"percent_delta": -0.0266,
"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.426,
"after": 0.4348,
"delta": 0.0088,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2438,
"delta": -0.0062,
"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": 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.1218,
"predicted_3B": 0.0135,
"predicted_AB": 3.4066,
"predicted_AVG": 0.2237,
"predicted_BB": 0.2181,
"predicted_H": 0.7619,
"predicted_HBP": 0.012,
"predicted_HR": 0.1665,
"predicted_OBP": 0.2704,
"predicted_R": 0.4698,
"predicted_RBI": 0.5062,
"predicted_SLG": 0.414,
"predicted_SO": 0.751
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1218,
"after": 0.1218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4066,
"after": 3.4066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2237,
"delta": -0.0201,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2197,
"after": 0.2181,
"delta": -0.0016,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7875,
"after": 0.7619,
"delta": -0.0256,
"percent_delta": -0.0325,
"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.1729,
"after": 0.1665,
"delta": -0.0064,
"percent_delta": -0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2901,
"after": 0.2704,
"delta": -0.0197,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4965,
"after": 0.4698,
"delta": -0.0267,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.535,
"after": 0.5062,
"delta": -0.0288,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4348,
"after": 0.414,
"delta": -0.0208,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7456,
"after": 0.751,
"delta": 0.0054,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4348,
"after": 0.414,
"delta": -0.0208,
"percent_delta": -0.0478,
"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.224 HR/AB=0.049",
"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.1218,
"after": 0.0,
"delta": -0.1218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0,
"delta": -0.0135,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4066,
"after": 3.0,
"delta": -0.4066,
"percent_delta": -0.1194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2181,
"after": 0.0,
"delta": -0.2181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7619,
"after": 1.0,
"delta": 0.2381,
"percent_delta": 0.3125,
"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.1665,
"after": 0.0,
"delta": -0.1665,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5062,
"after": 0.0,
"delta": -0.5062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.751,
"after": 1.0,
"delta": 0.249,
"percent_delta": 0.3316,
"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.751,
"after": 1.0,
"delta": 0.249,
"percent_delta": 0.3316,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5062,
"after": 0.0,
"delta": -0.5062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4698,
"after": 0.0,
"delta": -0.4698,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4698,
"after": 0.0,
"delta": -0.4698,
"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.2237,
"after": 0.333,
"delta": 0.1093,
"percent_delta": 0.4886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2704,
"after": 0.333,
"delta": 0.0626,
"percent_delta": 0.2315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.333,
"delta": -0.081,
"percent_delta": -0.1957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2237,
"after": 0.333,
"delta": 0.1093,
"percent_delta": 0.4886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.333,
"delta": -0.081,
"percent_delta": -0.1957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2237,
"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.2704,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.414,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2237,
"delta": -0.1093,
"percent_delta": -0.3284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2704,
"delta": -0.0626,
"percent_delta": -0.1881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.414,
"delta": 0.081,
"percent_delta": 0.2432,
"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.414,
"delta": 0.081,
"percent_delta": 0.2432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2237,
"delta": -0.1093,
"percent_delta": -0.3284,
"direction": "deboost",
"projection_effect": "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.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.375,
"after": 4.0,
"delta": 0.625,
"percent_delta": 0.1852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2237,
"delta": -0.0263,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2704,
"delta": -0.0216,
"percent_delta": -0.074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.414,
"delta": -0.012,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 2.0,
"delta": 1.234,
"percent_delta": 1.611,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.766,
"after": 2.0,
"delta": 1.234,
"percent_delta": 1.611,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.141 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.375 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.203 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.426 | - |
| predicted_SO | 0.766 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | -0.019 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.407 | 0.032 |
| predicted_AVG | 0.244 | -0.006 |
| predicted_BB | 0.220 | 0.017 |
| predicted_H | 0.787 | 0.017 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.173 | 0.023 |
| predicted_OBP | 0.290 | -0.002 |
| predicted_R | 0.496 | 0.028 |
| predicted_RBI | 0.535 | 0.045 |
| predicted_SLG | 0.435 | 0.009 |
| predicted_SO | 0.746 | -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.122 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.407 | 0.000 |
| predicted_AVG | 0.224 | -0.020 |
| predicted_BB | 0.218 | -0.002 |
| predicted_H | 0.762 | -0.026 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.167 | -0.006 |
| predicted_OBP | 0.270 | -0.020 |
| predicted_R | 0.470 | -0.027 |
| predicted_RBI | 0.506 | -0.029 |
| predicted_SLG | 0.414 | -0.021 |
| predicted_SO | 0.751 | 0.005 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.224 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.407 |
| predicted_AVG | 0.333 | 0.109 |
| predicted_BB | 0.000 | -0.218 |
| predicted_H | 1.000 | 0.238 |
| predicted_HR | 0.000 | -0.167 |
| predicted_OBP | 0.333 | 0.063 |
| predicted_R | 0.000 | -0.470 |
| predicted_RBI | 0.000 | -0.506 |
| predicted_SLG | 0.333 | -0.081 |
| predicted_SO | 1.000 | 0.249 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 18.000 | 4.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 2.000 | 3.000 | 0.2222 | 0.3000 | 0.5556 | 0.2222 | 0.1111 | 0.2778 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 0.000 | 0.000 | 3.000 | 8.000 | 5.000 | 2.000 | 6.000 | 0.1818 | 0.2286 | 0.4545 | 0.1818 | 0.0909 | 0.2424 | 0.0606 | 0.1818 |
| season | 0.60 | 64 | - | 216.000 | 55.000 | 9.000 | 1.000 | 8.000 | 27.000 | 30.000 | 13.000 | 49.000 | 0.2546 | 0.2987 | 0.4167 | 0.2546 | 0.0370 | 0.1250 | 0.0602 | 0.2268 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.4510 |
| predicted_AVG | 0.2352 |
| predicted_BB | 0.2430 |
| predicted_H | 0.8120 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.2050 |
| predicted_OBP | 0.2874 |
| predicted_R | 0.5350 |
| predicted_RBI | 0.5980 |
| predicted_SLG | 0.4471 |
| predicted_SO | 0.7170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1410 | 0.0950 | 0.1218 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0135 | model_form_blend |
| predicted_AB | 3.3750 | 3.4510 | 3.4066 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2352 | 0.2438 | model_form_blend |
| predicted_BB | 0.2030 | 0.2430 | 0.2197 | model_form_blend |
| predicted_H | 0.7700 | 0.8120 | 0.7875 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1500 | 0.2050 | 0.1729 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2874 | 0.2901 | model_form_blend |
| predicted_R | 0.4690 | 0.5350 | 0.4965 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5980 | 0.5350 | model_form_blend |
| predicted_SLG | 0.4260 | 0.4471 | 0.4348 | model_form_blend |
| predicted_SO | 0.7660 | 0.7170 | 0.7456 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_STL@CHC |
| game_type | full |
| mlbID | 701675 |
| playerID | 701675 |
| playerName | Nathan Church |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.312 |
| sl_xwoba | 0.294 |
| sl_xba | 0.24 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 33.1 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 56.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.056 | 0.000 | 0.000 | Hitting_3B | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_AB | 3.389 | 3.000 | 3.000 | Hitting_AB | 3.389 | 5.000 | -0.389 | -2.000 |
| predicted_AVG | 0.243 | 0.000 | 0.333 | Hitting_AVG | 0.246 | 0.600 | -0.246 | -0.600 |
| predicted_BB | 0.167 | 0.000 | 0.000 | Hitting_BB | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.760 | 0.000 | 1.000 | Hitting_H | 0.833 | 3.000 | -0.833 | -3.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.275 | 0.000 | 0.333 | Hitting_OBP | 0.265 | 0.600 | -0.265 | -0.600 |
| predicted_R | 0.444 | 0.000 | 0.000 | Hitting_R | 0.444 | 3.000 | -0.444 | -3.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.722 | 0.000 | -0.722 | 0.000 |
| predicted_SLG | 0.353 | 0.000 | 0.333 | Hitting_SLG | 0.377 | 0.600 | -0.377 | -0.600 |
| predicted_SO | 0.444 | 1.000 | 0.000 | Hitting_SO | 0.444 | 1.000 | 0.556 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.4440 -> 1.0000 (boost 0.5560, worse) |
| Biggest Deboost | predicted_H: 0.7600 -> 0.0000 (deboost -0.7600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.4440 -> 0.5028 (boost 0.0588, worse) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2387 -> 0.2194 (deboost -0.0193, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7482 -> 1.0000 (boost 0.2518, better) | predicted_SO: 0.5065 -> 0.0000 (deboost -0.5065, better) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.219 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4269 -> 0.0000 (deboost -0.4269, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2194 -> 0.3330 (boost 0.1136, better) | predicted_SLG: 0.3486 -> 0.3330 (deboost -0.0156, 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: 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3486 (boost 0.0156, 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": "691458",
"player_name": "Blaze Jordan",
"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.167,
"predicted_3B": 0.056,
"predicted_AB": 3.389,
"predicted_AVG": 0.243,
"predicted_BB": 0.167,
"predicted_H": 0.76,
"predicted_HR": 0.07,
"predicted_OBP": 0.275,
"predicted_R": 0.444,
"predicted_RBI": 0.47,
"predicted_SLG": 0.353,
"predicted_SO": 0.444
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1558,
"predicted_3B": 0.0459,
"predicted_AB": 3.4106,
"predicted_AVG": 0.2387,
"predicted_BB": 0.1811,
"predicted_H": 0.7733,
"predicted_HBP": 0.009,
"predicted_HR": 0.0668,
"predicted_OBP": 0.2713,
"predicted_R": 0.4512,
"predicted_RBI": 0.5039,
"predicted_SLG": 0.3482,
"predicted_SO": 0.5028
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1558,
"delta": -0.0112,
"percent_delta": -0.0671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0459,
"delta": -0.0101,
"percent_delta": -0.1804,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.389,
"after": 3.4106,
"delta": 0.0216,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2387,
"delta": -0.0043,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.1811,
"delta": 0.0141,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7733,
"delta": 0.0133,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0668,
"delta": -0.0032,
"percent_delta": -0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2713,
"delta": -0.0037,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.4512,
"delta": 0.0072,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.5039,
"delta": 0.0339,
"percent_delta": 0.0721,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3482,
"delta": -0.0048,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.444,
"after": 0.5028,
"delta": 0.0588,
"percent_delta": 0.1324,
"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.444,
"after": 0.5028,
"delta": 0.0588,
"percent_delta": 0.1324,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1558,
"predicted_3B": 0.0459,
"predicted_AB": 3.4106,
"predicted_AVG": 0.2194,
"predicted_BB": 0.1798,
"predicted_H": 0.7482,
"predicted_HBP": 0.009,
"predicted_HR": 0.0643,
"predicted_OBP": 0.2585,
"predicted_R": 0.4269,
"predicted_RBI": 0.4768,
"predicted_SLG": 0.3486,
"predicted_SO": 0.5065
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1558,
"after": 0.1558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0459,
"after": 0.0459,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4106,
"after": 3.4106,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.2194,
"delta": -0.0193,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1811,
"after": 0.1798,
"delta": -0.0013,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7733,
"after": 0.7482,
"delta": -0.0251,
"percent_delta": -0.0325,
"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.0668,
"after": 0.0643,
"delta": -0.0025,
"percent_delta": -0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2713,
"after": 0.2585,
"delta": -0.0128,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4512,
"after": 0.4269,
"delta": -0.0243,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5039,
"after": 0.4768,
"delta": -0.0271,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3482,
"after": 0.3486,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5028,
"after": 0.5065,
"delta": 0.0037,
"percent_delta": 0.0074,
"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.2387,
"after": 0.2194,
"delta": -0.0193,
"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 3 (raw=3.41), rates preserved: AVG=0.219 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1558,
"after": 0.0,
"delta": -0.1558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0459,
"after": 0.0,
"delta": -0.0459,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4106,
"after": 3.0,
"delta": -0.4106,
"percent_delta": -0.1204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1798,
"after": 0.0,
"delta": -0.1798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7482,
"after": 1.0,
"delta": 0.2518,
"percent_delta": 0.3365,
"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.0643,
"after": 0.0,
"delta": -0.0643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4768,
"after": 0.0,
"delta": -0.4768,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5065,
"after": 0.0,
"delta": -0.5065,
"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.7482,
"after": 1.0,
"delta": 0.2518,
"percent_delta": 0.3365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5065,
"after": 0.0,
"delta": -0.5065,
"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.4269,
"after": 0.0,
"delta": -0.4269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4269,
"after": 0.0,
"delta": -0.4269,
"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.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.2585,
"after": 0.333,
"delta": 0.0745,
"percent_delta": 0.2882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3486,
"after": 0.333,
"delta": -0.0156,
"percent_delta": -0.0448,
"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.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.3486,
"after": 0.333,
"delta": -0.0156,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2194,
"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.2585,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3486,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.3412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2585,
"delta": -0.0745,
"percent_delta": -0.2239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3486,
"delta": 0.0156,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3486,
"delta": 0.0156,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2194,
"delta": -0.1136,
"percent_delta": -0.3412,
"direction": "deboost",
"projection_effect": "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.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.389,
"after": 3.0,
"delta": -0.389,
"percent_delta": -0.1148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2194,
"delta": -0.0236,
"percent_delta": -0.0971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2585,
"delta": -0.0165,
"percent_delta": -0.06,
"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.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3486,
"delta": -0.0044,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.056 | - |
| predicted_AB | 3.389 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.167 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.444 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 0.444 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | -0.011 |
| predicted_3B | 0.046 | -0.010 |
| predicted_AB | 3.411 | 0.022 |
| predicted_AVG | 0.239 | -0.004 |
| predicted_BB | 0.181 | 0.014 |
| predicted_H | 0.773 | 0.013 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.067 | -0.003 |
| predicted_OBP | 0.271 | -0.004 |
| predicted_R | 0.451 | 0.007 |
| predicted_RBI | 0.504 | 0.034 |
| predicted_SLG | 0.348 | -0.005 |
| predicted_SO | 0.503 | 0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.046 | 0.000 |
| predicted_AB | 3.411 | 0.000 |
| predicted_AVG | 0.219 | -0.019 |
| predicted_BB | 0.180 | -0.001 |
| predicted_H | 0.748 | -0.025 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.064 | -0.003 |
| predicted_OBP | 0.259 | -0.013 |
| predicted_R | 0.427 | -0.024 |
| predicted_RBI | 0.477 | -0.027 |
| predicted_SLG | 0.349 | 0.000 |
| predicted_SO | 0.506 | 0.004 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.219 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 | 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.156 |
| predicted_3B | 0.000 | -0.046 |
| predicted_AB | 3.000 | -0.411 |
| predicted_AVG | 0.333 | 0.114 |
| predicted_BB | 0.000 | -0.180 |
| predicted_H | 1.000 | 0.252 |
| predicted_HR | 0.000 | -0.064 |
| predicted_OBP | 0.333 | 0.075 |
| predicted_R | 0.000 | -0.427 |
| predicted_RBI | 0.000 | -0.477 |
| predicted_SLG | 0.333 | -0.016 |
| predicted_SO | 0.000 | -0.506 |
Attached 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 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 3.000 | 0.1875 | 0.2222 | 0.1875 | 0.1875 | 0.0000 | 0.0625 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 1.000 | 0.000 | 0.000 | 6.000 | 3.000 | 2.000 | 6.000 | 0.1935 | 0.2162 | 0.2258 | 0.1935 | 0.0000 | 0.1935 | 0.0645 | 0.1935 |
| season | 0.60 | 18 | - | 61.000 | 15.000 | 3.000 | 1.000 | 1.000 | 13.000 | 8.000 | 3.000 | 8.000 | 0.2459 | 0.2647 | 0.3770 | 0.2459 | 0.0164 | 0.2131 | 0.0492 | 0.1311 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0280 |
| predicted_AB | 3.4490 |
| predicted_AVG | 0.2312 |
| predicted_BB | 0.2060 |
| predicted_H | 0.7970 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0610 |
| predicted_OBP | 0.2647 |
| predicted_R | 0.4640 |
| predicted_RBI | 0.5640 |
| predicted_SLG | 0.3396 |
| predicted_SO | 0.6070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1360 | 0.1558 | model_form_blend |
| predicted_3B | 0.0560 | 0.0280 | 0.0459 | model_form_blend |
| predicted_AB | 3.3890 | 3.4490 | 3.4106 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2312 | 0.2387 | model_form_blend |
| predicted_BB | 0.1670 | 0.2060 | 0.1811 | model_form_blend |
| predicted_H | 0.7600 | 0.7970 | 0.7733 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0700 | 0.0610 | 0.0668 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2647 | 0.2713 | model_form_blend |
| predicted_R | 0.4440 | 0.4640 | 0.4512 | model_form_blend |
| predicted_RBI | 0.4700 | 0.5640 | 0.5039 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3396 | 0.3482 | model_form_blend |
| predicted_SO | 0.4440 | 0.6070 | 0.5028 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.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 | 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 | 3 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260703_STL@CHC |
| game_type | full |
| mlbID | 691458 |
| playerID | 691458 |
| playerName | Blaze Jordan |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-03 |
| sl_k_percent | 11.8 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.271 |
| sl_xwoba | 0.286 |
| sl_xba | 0.237 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 9.7 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 53.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 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.089 | 3.000 | 3.000 | Hitting_AB | 3.296 | 4.000 | -0.296 | -1.000 |
| predicted_AVG | 0.249 | 0.333 | 0.333 | Hitting_AVG | 0.229 | 0.000 | 0.105 | 0.333 |
| predicted_BB | 0.133 | 0.000 | 0.000 | Hitting_BB | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.630 | 1.000 | 1.000 | Hitting_H | 0.754 | 0.000 | 0.246 | 1.000 |
| predicted_HR | 0.070 | 1.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | 0.887 | 1.000 |
| predicted_OBP | 0.263 | 0.333 | 0.333 | Hitting_OBP | 0.268 | 0.000 | 0.065 | 0.333 |
| predicted_R | 0.267 | 1.000 | 0.000 | Hitting_R | 0.331 | 0.000 | 0.669 | 1.000 |
| predicted_RBI | 0.260 | 1.000 | 0.000 | Hitting_RBI | 0.268 | 0.000 | 0.732 | 1.000 |
| predicted_SLG | 0.341 | 1.333 | 0.333 | Hitting_SLG | 0.368 | 0.000 | 0.966 | 1.333 |
| predicted_SO | 0.822 | 1.000 | 1.000 | Hitting_SO | 0.894 | 2.000 | 0.106 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_HR: 0.0700 -> 1.0000 (boost 0.9300, better) |
| Biggest Deboost | predicted_2B: 0.1330 -> 0.0000 (deboost -0.1330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0890 -> 3.0248 (deboost -0.0642, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2357 -> 0.2018 (deboost -0.0339, 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.6103 -> 1.0000 (boost 0.3897, better) | predicted_RBI: 0.2313 -> 0.0000 (deboost -0.2313, worse) | AB rounded to 3 (raw=3.09), rates preserved: AVG=0.198 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2317 -> 0.0000 (deboost -0.2317, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2018 -> 0.3330 (boost 0.1312, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2018 (deboost -0.1312, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686780",
"player_name": "Pedro Pagés",
"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.133,
"predicted_3B": 0.0,
"predicted_AB": 3.089,
"predicted_AVG": 0.249,
"predicted_BB": 0.133,
"predicted_H": 0.63,
"predicted_HR": 0.07,
"predicted_OBP": 0.263,
"predicted_R": 0.267,
"predicted_RBI": 0.26,
"predicted_SLG": 0.341,
"predicted_SO": 0.822
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1314,
"predicted_3B": 0.0008,
"predicted_AB": 3.0248,
"predicted_AVG": 0.2357,
"predicted_BB": 0.1274,
"predicted_H": 0.6308,
"predicted_HBP": 0.025,
"predicted_HR": 0.0656,
"predicted_OBP": 0.2573,
"predicted_R": 0.2449,
"predicted_RBI": 0.2444,
"predicted_SLG": 0.3334,
"predicted_SO": 0.8056
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1314,
"delta": -0.0016,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.089,
"after": 3.0248,
"delta": -0.0642,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2357,
"delta": -0.0133,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.133,
"after": 0.1274,
"delta": -0.0056,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.6308,
"delta": 0.0008,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0656,
"delta": -0.0044,
"percent_delta": -0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2573,
"delta": -0.0057,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.2449,
"delta": -0.0221,
"percent_delta": -0.0828,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2444,
"delta": -0.0156,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3334,
"delta": -0.0076,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 0.8056,
"delta": -0.0164,
"percent_delta": -0.02,
"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.089,
"after": 3.0248,
"delta": -0.0642,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1314,
"predicted_3B": 0.0008,
"predicted_AB": 3.0248,
"predicted_AVG": 0.2018,
"predicted_BB": 0.1265,
"predicted_H": 0.6103,
"predicted_HBP": 0.025,
"predicted_HR": 0.0632,
"predicted_OBP": 0.2338,
"predicted_R": 0.2317,
"predicted_RBI": 0.2313,
"predicted_SLG": 0.3084,
"predicted_SO": 0.8115
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1314,
"after": 0.1314,
"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.0248,
"after": 3.0248,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2357,
"after": 0.2018,
"delta": -0.0339,
"percent_delta": -0.1438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1274,
"after": 0.1265,
"delta": -0.0009,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6308,
"after": 0.6103,
"delta": -0.0205,
"percent_delta": -0.0325,
"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.0656,
"after": 0.0632,
"delta": -0.0024,
"percent_delta": -0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2573,
"after": 0.2338,
"delta": -0.0235,
"percent_delta": -0.0913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2449,
"after": 0.2317,
"delta": -0.0132,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2444,
"after": 0.2313,
"delta": -0.0131,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3334,
"after": 0.3084,
"delta": -0.025,
"percent_delta": -0.075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8056,
"after": 0.8115,
"delta": 0.0059,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2357,
"after": 0.2018,
"delta": -0.0339,
"percent_delta": -0.1438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.09), rates preserved: AVG=0.198 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1314,
"after": 0.0,
"delta": -0.1314,
"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.0248,
"after": 3.0,
"delta": -0.0248,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1265,
"after": 0.0,
"delta": -0.1265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6103,
"after": 1.0,
"delta": 0.3897,
"percent_delta": 0.6385,
"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.0632,
"after": 0.0,
"delta": -0.0632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2313,
"after": 0.0,
"delta": -0.2313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8115,
"after": 1.0,
"delta": 0.1885,
"percent_delta": 0.2323,
"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.6103,
"after": 1.0,
"delta": 0.3897,
"percent_delta": 0.6385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2313,
"after": 0.0,
"delta": -0.2313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2317,
"after": 0.0,
"delta": -0.2317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.2317,
"after": 0.0,
"delta": -0.2317,
"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.2018,
"after": 0.333,
"delta": 0.1312,
"percent_delta": 0.6501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2338,
"after": 0.333,
"delta": 0.0992,
"percent_delta": 0.4243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3084,
"after": 0.333,
"delta": 0.0246,
"percent_delta": 0.0798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2018,
"after": 0.333,
"delta": 0.1312,
"percent_delta": 0.6501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2018,
"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.2338,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3084,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2018,
"delta": -0.1312,
"percent_delta": -0.3941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2338,
"delta": -0.0992,
"percent_delta": -0.2979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3084,
"delta": -0.0246,
"percent_delta": -0.0739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2018,
"delta": -0.1312,
"percent_delta": -0.3941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.089,
"after": 3.0,
"delta": -0.089,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2018,
"delta": -0.0472,
"percent_delta": -0.1896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 1.0,
"delta": 0.93,
"percent_delta": 13.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2338,
"delta": -0.0292,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 1.0,
"delta": 0.733,
"percent_delta": 2.7453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3084,
"delta": -0.0326,
"percent_delta": -0.0956,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 1.0,
"delta": 0.178,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.07,
"after": 1.0,
"delta": 0.93,
"percent_delta": 13.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.089 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.133 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.263 | - |
| predicted_R | 0.267 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.341 | - |
| predicted_SO | 0.822 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | -0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.025 | -0.064 |
| predicted_AVG | 0.236 | -0.013 |
| predicted_BB | 0.127 | -0.006 |
| predicted_H | 0.631 | 0.001 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.066 | -0.004 |
| predicted_OBP | 0.257 | -0.006 |
| predicted_R | 0.245 | -0.022 |
| predicted_RBI | 0.244 | -0.016 |
| predicted_SLG | 0.333 | -0.008 |
| predicted_SO | 0.806 | -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.131 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.025 | 0.000 |
| predicted_AVG | 0.202 | -0.034 |
| predicted_BB | 0.127 | -0.001 |
| predicted_H | 0.610 | -0.021 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.063 | -0.002 |
| predicted_OBP | 0.234 | -0.023 |
| predicted_R | 0.232 | -0.013 |
| predicted_RBI | 0.231 | -0.013 |
| predicted_SLG | 0.308 | -0.025 |
| predicted_SO | 0.811 | 0.006 |
AB rounded to 3 (raw=3.09), rates preserved: AVG=0.198 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.131 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.025 |
| predicted_AVG | 0.333 | 0.131 |
| predicted_BB | 0.000 | -0.127 |
| predicted_H | 1.000 | 0.390 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.099 |
| predicted_R | 0.000 | -0.232 |
| predicted_RBI | 0.000 | -0.231 |
| predicted_SLG | 0.333 | 0.025 |
| predicted_SO | 1.000 | 0.189 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | 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 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 10 | - | 23.000 | 5.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 7.000 | 0.2174 | 0.2400 | 0.3043 | 0.2174 | 0.0000 | 0.0870 | 0.0435 | 0.3044 |
| season | 0.60 | 45 | - | 139.000 | 30.000 | 6.000 | 0.000 | 4.000 | 11.000 | 12.000 | 6.000 | 37.000 | 0.2158 | 0.2550 | 0.3453 | 0.2158 | 0.0288 | 0.0791 | 0.0432 | 0.2662 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9290 |
| predicted_AVG | 0.2158 |
| predicted_BB | 0.1190 |
| predicted_H | 0.6320 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.2489 |
| predicted_R | 0.2120 |
| predicted_RBI | 0.2210 |
| predicted_SLG | 0.3220 |
| predicted_SO | 0.7810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1290 | 0.1314 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0890 | 2.9290 | 3.0248 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2158 | 0.2357 | model_form_blend |
| predicted_BB | 0.1330 | 0.1190 | 0.1274 | model_form_blend |
| predicted_H | 0.6300 | 0.6320 | 0.6308 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0700 | 0.0590 | 0.0656 | model_form_blend |
| predicted_OBP | 0.2630 | 0.2489 | 0.2573 | model_form_blend |
| predicted_R | 0.2670 | 0.2120 | 0.2449 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2210 | 0.2444 | model_form_blend |
| predicted_SLG | 0.3410 | 0.3220 | 0.3334 | model_form_blend |
| predicted_SO | 0.8220 | 0.7810 | 0.8056 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.216 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260704_STL@CHC |
| game_type | full |
| mlbID | 686780 |
| playerID | 686780 |
| playerName | Pedro Pagés |
| pos | C |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-04 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.263 |
| sl_xwoba | 0.273 |
| sl_xba | 0.222 |
| sl_xslg | 0.355 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 38.3 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 27.4 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.500 | 2.000 | 0.500 | 0.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 2.812 | 5.000 | 2.188 | 0.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.188 | 5.000 | 0.812 | 1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.169 | 0.200 | -0.069 | 4.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 4.875 | 1.000 | -3.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": "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": 2.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 3.0,
"predicted_IP": 5.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 3.0,
"predicted_IP": 5.1,
"predicted_R": 5.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.1,
"delta": 0.1,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.1,
"delta": 0.1,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 5.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 3.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 23.100 | 14.000 | 21.000 | 7.000 | 27.000 | 2.000 | 5.4000 | 1.2000 | 0.6000 | 0.9000 | 0.3000 | 1.1571 | 0.0857 |
| last_10 | 0.35 | 10 | 53.200 | 27.000 | 43.000 | 17.000 | 56.000 | 4.000 | 4.5280 | 1.1180 | 0.5031 | 0.8012 | 0.3168 | 1.0435 | 0.0745 |
| season | 0.20 | 16 | 84.100 | 45.000 | 83.000 | 24.000 | 78.000 | 7.000 | 4.8024 | 1.2688 | 0.5336 | 0.9842 | 0.2846 | 0.9249 | 0.0830 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5870 |
| predicted_ER | 2.7200 |
| predicted_ERA | 4.8708 |
| predicted_H | 4.5390 |
| predicted_HR | 0.4900 |
| predicted_IP | 5.0000 |
| predicted_SO | 5.2420 |
| predicted_WHIP | 1.2188 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.5870 | 1.7731 | model_form_blend |
| predicted_ER | 5.0000 | 2.7200 | 3.7474 | model_form_blend |
| predicted_ERA | - | 4.8708 | 4.8708 | form_only |
| predicted_H | 6.0000 | 4.5390 | 5.1973 | model_form_blend |
| predicted_HR | 3.0000 | 0.4900 | 1.6210 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 1.0000 | 5.2420 | 3.3306 | model_form_blend |
| predicted_WHIP | - | 1.2188 | 1.2188 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.1 |
| H | 6 |
| R | 5 |
| ER | 5 |
| BB | 2 |
| SO | 1 |
| HR | 3 |
| BF | 24 |
| Pitches | 93 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 5 |
| Pitching_ERA | 4.80 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 34 |
| Pitching_R | 5 |
| Pitching_SO | 1 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260702_STL@ATL |
| game_type | full |
| mlbID | 669160 |
| playerID | 669160 |
| playerName | Dustin May |
| pos | P |
| started | True |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-02 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.313 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 46.5 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 79.396943583 |
| sl_avg_hyper_speed | 94.766310042 |
| 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.400 | 0.000 | -0.400 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.950 | 1.000 | 0.050 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.783 | 1.000 | 0.417 | 0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.975 | 2.000 | -0.975 | -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": "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": 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.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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 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 | 7.000 | 1.000 | 5.000 | 0.000 | 1.8000 | 1.6000 | 0.2000 | 1.4000 | 0.2000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 13.000 | 2.000 | 9.000 | 2.000 | 4.8214 | 1.6071 | 0.5357 | 1.3929 | 0.2143 | 0.9643 | 0.2143 |
| season | 0.20 | 40 | 39.000 | 16.000 | 38.000 | 13.000 | 39.000 | 5.000 | 3.6923 | 1.3077 | 0.4103 | 0.9744 | 0.3333 | 1.0000 | 0.1282 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2810 |
| predicted_ER | 0.4160 |
| predicted_ERA | 3.7466 |
| predicted_H | 1.1780 |
| predicted_HR | 0.1200 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9740 |
| predicted_WHIP | 1.4588 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2810 | 0.1360 | model_form_blend |
| predicted_ER | 0.0000 | 0.4160 | 0.2014 | model_form_blend |
| predicted_ERA | - | 3.7466 | 3.7466 | form_only |
| predicted_H | 1.0000 | 1.1780 | 1.0862 | model_form_blend |
| predicted_HR | 0.0000 | 0.1200 | 0.0581 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9740 | 0.4715 | model_form_blend |
| predicted_WHIP | - | 1.4588 | 1.4588 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.69 |
| 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 | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260704_STL@CHC |
| game_type | full |
| mlbID | 668941 |
| playerID | 668941 |
| playerName | JoJo Romero |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-04 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.319 |
| sl_xwoba | 0.333 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 43.8 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 39.4 |
| sl_avg_best_speed | 80.107096364 |
| sl_avg_hyper_speed | 95.707447523 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.833 | 0.000 | 0.167 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.964 | 1.000 | 0.036 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.972 | 1.000 | 1.028 | 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": "676617",
"player_name": "Riley O'Brien",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 3.000 | 1.000 | 3.000 | 1.000 | 3.6000 | 0.8000 | 0.4000 | 0.6000 | 0.2000 | 0.6000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 3.000 | 6.000 | 7.000 | 6.000 | 1.000 | 2.7000 | 1.3000 | 0.3000 | 0.6000 | 0.7000 | 0.6000 | 0.1000 |
| season | 0.20 | 36 | 36.100 | 15.000 | 30.000 | 12.000 | 35.000 | 2.000 | 3.7156 | 1.1560 | 0.4128 | 0.8257 | 0.3303 | 0.9633 | 0.0551 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3830 |
| predicted_ER | 0.4230 |
| predicted_ERA | 3.8114 |
| predicted_H | 0.7780 |
| predicted_HR | 0.1410 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7880 |
| predicted_WHIP | 1.1612 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3830 | 0.1827 | model_form_blend |
| predicted_ER | 1.0000 | 0.4230 | 0.7248 | model_form_blend |
| predicted_ERA | - | 3.8114 | 3.8114 | form_only |
| predicted_H | 1.0000 | 0.7780 | 0.8941 | model_form_blend |
| predicted_HR | 1.0000 | 0.1410 | 0.5903 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7880 | 1.4220 | model_form_blend |
| predicted_WHIP | - | 1.1612 | 1.1612 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 1 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.72 |
| 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 | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260704_STL@CHC |
| game_type | full |
| mlbID | 676617 |
| playerID | 676617 |
| playerName | Riley O'Brien |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-04 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.287 |
| sl_xwoba | 0.325 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 45.9 |
| sl_avg_best_speed | 76.551102917 |
| sl_avg_hyper_speed | 94.448972526 |
| 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.486 | 0.000 | -0.486 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.838 | 1.000 | -0.838 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.746 | 1.000 | 0.254 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.054 | 1.000 | -1.054 | -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": "592773",
"player_name": "Ryne Stanek",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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 | 1.000 | 5.000 | 0.000 | 3.000 | 1.000 | 2.0769 | 1.1538 | 0.2308 | 1.1539 | 0.0000 | 0.6923 | 0.2308 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 8.000 | 0.000 | 8.000 | 4.000 | 3.8571 | 0.8571 | 0.4286 | 0.8571 | 0.0000 | 0.8571 | 0.4286 |
| season | 0.20 | 37 | 33.200 | 18.000 | 31.000 | 18.000 | 39.000 | 6.000 | 4.8119 | 1.4554 | 0.5346 | 0.9208 | 0.5346 | 1.1584 | 0.1782 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2140 |
| predicted_ER | 0.4220 |
| predicted_ERA | 3.7992 |
| predicted_H | 0.9890 |
| predicted_HR | 0.2290 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8910 |
| predicted_WHIP | 1.2031 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2140 | 0.1004 | model_form_blend |
| predicted_ER | 0.0000 | 0.4220 | 0.1980 | model_form_blend |
| predicted_ERA | - | 3.7992 | 3.7992 | form_only |
| predicted_H | 0.0000 | 0.9890 | 0.4639 | model_form_blend |
| predicted_HR | 0.0000 | 0.2290 | 0.1074 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8910 | 0.4180 | model_form_blend |
| predicted_WHIP | - | 1.2031 | 1.2031 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.81 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260704_STL@CHC |
| game_type | full |
| mlbID | 592773 |
| playerID | 592773 |
| playerName | Ryne Stanek |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-04 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.331 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 35.6 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 50.2 |
| sl_avg_best_speed | 79.097167111 |
| sl_avg_hyper_speed | 94.737993778 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | NYM 2 - 5 ATL | ATL | 0.640 | scoring_simulation.final_score | True |
| Simulation draw | NYM 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.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.830 | 3.707 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 5 | 0.6400 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 2 | 5 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 2 | 5 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4384932738589211,
"base_low_score_probability": 0.4197786998616874,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.018714573997233697,
"confidence": 0.6222909999999999,
"factors": {
"environmental": 0.9496199999999999,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.044582
},
"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": 31,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 14,
"wide_bucket_sample_size": 31,
"global_sample_size": 117,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.7419,
"bayesian_hit_rate": 0.6531,
"sample_weight": 0.5378,
"prior_strength": 18.0,
"reliability": 0.6327,
"confidence_cap": 0.78,
"raw_pick_probability": 0.7331,
"calibrated_pick_probability": 0.6711,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "ATL",
"games": 89,
"wins": 52,
"losses": 37,
"win_pct": 0.5842696629213483,
"runs_scored": 433,
"runs_allowed": 342,
"run_differential": 91,
"run_differential_per_game": 1.0224719101123596,
"available": true
},
"away": {
"team": "NYM",
"games": 90,
"wins": 37,
"losses": 53,
"win_pct": 0.4111111111111111,
"runs_scored": 362,
"runs_allowed": 423,
"run_differential": -61,
"run_differential_per_game": -0.6777777777777778,
"available": true
},
"run_differential_edge_per_game": 1.7002,
"win_pct_edge": 0.1732,
"quality_edge": 1.96,
"margin_adjustment": 0.8232,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.953,
"home_runs": 4.695,
"home_win_probability": 0.7331
}
}{
"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": "NYM",
"final_score_winner": "ATL",
"pre_simulation_winner": "ATL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "NYM 2 - 5 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "NYM 3 - 5 ATL",
"winner": "ATL"
},
"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": 3,
"final_margin": 2,
"winner_quality_edge": 1.96,
"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": 89,
"wins": 52,
"losses": 37,
"win_pct": 0.5842696629213483,
"runs_scored": 433,
"runs_allowed": 342,
"run_differential": 91,
"run_differential_per_game": 1.0224719101123596,
"available": true
},
"away": {
"team": "NYM",
"games": 90,
"wins": 37,
"losses": 53,
"win_pct": 0.4111111111111111,
"runs_scored": 362,
"runs_allowed": 423,
"run_differential": -61,
"run_differential_per_game": -0.6777777777777778,
"available": true
}
}
}{
"applied": false,
"raw_margin": 2.7426,
"final_margin": 2.7426,
"margin_cap": 4.25,
"season_quality_edge": 1.96,
"reason": "raw target margin within supported range"
}{
"applied": true,
"raw_confidence": 0.671062,
"final_confidence": 0.64,
"confidence_cap": 0.64,
"score_gap": 2.7426,
"calibration_sample_size": 31,
"calibration_empirical_hit_rate": 0.7419,
"calibration_bayesian_hit_rate": 0.6531,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.96,
"reasons": [
"unvalidated probabilities are capped for production display",
"local calibration sample has at least 30 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "NYM 2 - 5 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "NYM 3 - 5 ATL",
"winner": "ATL"
},
"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": 3,
"final_margin": 2,
"winner_quality_edge": 1.96,
"winner": "ATL",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 5,
"confidence": 0.64,
"home_win_probability": 0.64,
"away_win_probability": 0.36,
"predicted_score_text": "NYM 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": "NYM",
"original_runs": 2,
"run_delta": 0.4244,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.32485293638505036,
"contact": 0.44959719148013716,
"power": 0.578552422180328,
"discipline": -0.034617817315083024,
"xwoba": 0.33331249999999996,
"recent_xwoba": 0.33331249999999996,
"barrel": 10.112499999999999,
"ab_hard_contact": 0.14721511027322579,
"ab_bat_speed": 71.05304778047294,
"ab_strikeout_rate": 0.2336929661246068,
"available_players": 9,
"top_players": [
{
"player_id": "665742",
"player_name": "Juan Soto",
"position": "LF",
"weight": 4.0,
"quality": 1.1588749593905132,
"contact": 1.7846043233356208,
"power": 1.7569845926663512,
"discipline": 1.372624839124839,
"xwoba": 0.426,
"recent_xwoba": 0.426,
"barrel": 14.4,
"ab_hard_contact": 0.9374061390413123,
"ab_bat_speed": 70.41888138138138,
"ab_strikeout_rate": 0.14897039897039896,
"available": 1.0
},
{
"player_id": "682626",
"player_name": "Francisco Alvarez",
"position": "C",
"weight": 3.0,
"quality": 0.33041392314304513,
"contact": 0.30639057979820544,
"power": 1.2494641702927165,
"discipline": -0.562595238095238,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 16.9,
"ab_hard_contact": 0.2548072153781518,
"ab_bat_speed": 72.7064484126984,
"ab_strikeout_rate": 0.2276190476190476,
"available": 1.0
},
{
"player_id": "596019",
"player_name": "Francisco Lindor",
"position": "DH",
"weight": 4.0,
"quality": 0.3629485962943648,
"contact": 0.8798389279274575,
"power": 0.7167667100404219,
"discipline": 0.3961666666666664,
"xwoba": 0.348,
"recent_xwoba": 0.348,
"barrel": 8.6,
"ab_hard_contact": 0.41495324842748266,
"ab_bat_speed": 72.253728505291,
"ab_strikeout_rate": 0.17500000000000002,
"available": 1.0
},
{
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "3B",
"weight": 4.0,
"quality": 0.47686593498404534,
"contact": 0.7153210822169512,
"power": 0.3413789774624931,
"discipline": 0.04014021164021145,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 7.1,
"ab_hard_contact": -0.03222997455966348,
"ab_bat_speed": 69.06106350542461,
"ab_strikeout_rate": 0.1693121693121693,
"available": 1.0
},
{
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"weight": 4.0,
"quality": 0.4249234604069893,
"contact": 0.658146732247185,
"power": 0.41590393795378183,
"discipline": -0.1308809523809525,
"xwoba": 0.345,
"recent_xwoba": 0.345,
"barrel": 8.0,
"ab_hard_contact": 0.08112637812325049,
"ab_bat_speed": 69.1056576984127,
"ab_strikeout_rate": 0.22833333333333333,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "625643",
"player_name": "Reynaldo López",
"quality": -0.16136305392314118,
"contact": -0.23149573092265877,
"command": -0.2950000000000001,
"movement": -0.3830979900408704,
"xwoba": 0.331,
"whiff": 21.7,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "ATL",
"original_runs": 5,
"run_delta": 0.2138,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.33757297321475216,
"contact": 0.2846524462185485,
"power": 0.34420024049435055,
"discipline": -0.05986319885905719,
"xwoba": 0.31966666666666665,
"recent_xwoba": 0.31966666666666665,
"barrel": 8.739393939393938,
"ab_hard_contact": 0.530942760824965,
"ab_bat_speed": 70.50307613744708,
"ab_strikeout_rate": 0.23009480059065884,
"available_players": 9,
"top_players": [
{
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"weight": 4.0,
"quality": 1.0883842332985052,
"contact": 1.0402512352309339,
"power": 1.5751386299578118,
"discipline": 0.12311904761904749,
"xwoba": 0.36399999999999993,
"recent_xwoba": 0.364,
"barrel": 13.7,
"ab_hard_contact": 1.652677361061007,
"ab_bat_speed": 73.18710813492063,
"ab_strikeout_rate": 0.23154761904761906,
"available": 1.0
},
{
"player_id": "686948",
"player_name": "Drake Baldwin",
"position": "C",
"weight": 4.0,
"quality": 1.097030857454709,
"contact": 1.0547608788203147,
"power": 1.52168325127891,
"discipline": 0.07959325396825392,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 16.0,
"ab_hard_contact": 1.6774745493877263,
"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.0634374702495275,
"contact": 1.4208683038432086,
"power": 1.5562881106309046,
"discipline": -0.43297619047619046,
"xwoba": 0.374,
"recent_xwoba": 0.374,
"barrel": 13.9,
"ab_hard_contact": 1.5478574507133203,
"ab_bat_speed": 73.9240186965812,
"ab_strikeout_rate": 0.2,
"available": 1.0
},
{
"player_id": "805347",
"player_name": "Jim Jarvis",
"position": "SS",
"weight": 3.0,
"quality": -0.02346782758330255,
"contact": -1.0276215538847118,
"power": -1.3417614471189696,
"discipline": -0.8085714285714287,
"xwoba": 0.19699999999999998,
"recent_xwoba": 0.19699999999999998,
"barrel": 0.0,
"ab_hard_contact": -1.4695146566651087,
"ab_bat_speed": 65.775,
"ab_strikeout_rate": 0.41666666666666663,
"available": 1.0
},
{
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"weight": 4.0,
"quality": -0.2910740958759608,
"contact": -0.23789800447050197,
"power": -0.5076397285697452,
"discipline": 0.32017857142857137,
"xwoba": 0.298,
"recent_xwoba": 0.298,
"barrel": 4.3,
"ab_hard_contact": 0.30130066670034766,
"ab_bat_speed": 67.33196853741497,
"ab_strikeout_rate": 0.12470238095238095,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "642547",
"player_name": "Freddy Peralta",
"quality": 0.05633765944802582,
"contact": 0.02554885046400814,
"command": -0.015571428571428524,
"movement": 0.039929841979667896,
"xwoba": 0.302,
"whiff": 26.1,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 2,
"home_runs": 5,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 2,
"home_runs": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 1.96,
"recent_form_edge_home_minus_away": 0.336,
"pitcher_matchup_edge_home_minus_away": 0.0737,
"composite_home_edge": 1.8641,
"existing_home_win_probability": 0.6711,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 1.8641
},
"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": 5,
"predicted_score_text": "NYM 2 - 5 ATL",
"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": 5,
"score_text": "NYM 2 - 5 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "NYM 3 - 5 ATL",
"winner": "ATL"
},
"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": 3,
"final_margin": 2,
"winner_quality_edge": 1.96,
"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.64,
"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.96,
"winner_recent_form_edge": 0.336,
"winner_pitcher_matchup_edge": 0.0737,
"winner_simulation_draw_rate": 0.75,
"blowout_draw_rate_margin_4_plus": 0.0625,
"high_total_draw_rate_11_plus": 0.125,
"low_total_draw_rate_6_or_less": 0.4375,
"total_runs_spread": {
"min": 3,
"median": 7,
"max": 14,
"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 NYM | True | 1.0333 | 1.0333 | 1 | 9 | 0 |
| Home ATL | True | 1.0292 | 1.0292 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Bo Bichette | 261 | 1.0556 | 0.7412 | positive_batter_regression | 0.3320 | 0.2850 | 0.4320 | 7.10 | 44.40 | 90.40 | 8.30 | 19.60 | 18.10 | 6.10 | 0.8571 |
| LF | Juan Soto | 28 | 1.0964 | 1.2848 | neutral | 0.4260 | 0.3090 | 0.5990 | 14.40 | 49.30 | 92.70 | 15 | 19.80 | 12.50 | 15.50 | 0.4857 |
| CF | A.J. Ewing | 110 | 1.0261 | 0.3485 | neutral | 0.3470 | 0.2750 | 0.4320 | 7.40 | 43.40 | 89.30 | 12.20 | 22.80 | 24.70 | 10.50 | 0.3429 |
| DH | Francisco Lindor | 194 | 1.0358 | 0.4776 | positive_batter_regression | 0.3480 | 0.2640 | 0.4490 | 8.60 | 48.60 | 92.20 | 13.10 | 23.30 | 16.60 | 9.70 | 1.1714 |
| RF | Carson Benge | 122 | 1.0620 | 0.8272 | positive_batter_regression | 0.3450 | 0.2860 | 0.4490 | 8 | 41.70 | 89.40 | 12.20 | 21.70 | 21.60 | 6.50 | 0.9714 |
| 1B | Jared Young | 209 | 1.0148 | 0.1972 | neutral | 0.3180 | 0.2280 | 0.4120 | 12 | 47.80 | 90 | 11.90 | 26.20 | 22.40 | 7.50 | 0.3714 |
| C | Francisco Alvarez | 315 | 1.0401 | 0.5350 | neutral | 0.3380 | 0.2470 | 0.4730 | 16.90 | 44.90 | 90.60 | 10.50 | 32.90 | 26.40 | 7.10 | 0.4857 |
| SS | Ronny Mauricio | 543 | 0.9665 | -0.4470 | neutral | 0.2040 | 0.1770 | 0.3030 | 10.70 | 35.70 | 90.30 | 6.70 | 33 | 39.10 | 0 | 0.4571 |
| 2B | Brett Baty | 415 | 1.0022 | 0.0299 | neutral | 0.2980 | 0.2290 | 0.3590 | 7.60 | 38.60 | 88.90 | 10 | 28.40 | 27.20 | 9.70 | 0.6286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Matt Olson | 27 | 1.0937 | 1.2499 | neutral | 0.3640 | 0.2570 | 0.5210 | 13.70 | 51.40 | 92.80 | 18 | 24.30 | 23.20 | 9.60 | -0.2286 |
| 2B | Ozzie Albies | 76 | 0.9777 | -0.2972 | negative_batter_regression | 0.2980 | 0.2490 | 0.3800 | 4.30 | 27.60 | 87.10 | 17.20 | 20.30 | 11.90 | 6.90 | -0.9143 |
| CF | Michael Harris II | 35 | 1.0991 | 1.3208 | neutral | 0.3740 | 0.3050 | 0.5300 | 13.90 | 50.60 | 91.90 | 10.40 | 25.90 | 20.10 | 4.70 | 0.3429 |
| C | Drake Baldwin | 101 | 1.1102 | 1.4694 | neutral | 0.3730 | 0.2700 | 0.5100 | 16 | 48.40 | 91 | 10.60 | 25.10 | 23.50 | 9.30 | 0.8286 |
| LF | Mauricio Dubón | 39 | 1.0120 | 0.1600 | neutral | 0.3230 | 0.2740 | 0.4000 | 4.90 | 30.50 | 86.30 | 15 | 16.30 | 13.80 | 7.30 | -0.2857 |
| DH | Dominic Smith | 327 | 1.0111 | 0.1483 | neutral | 0.3190 | 0.2650 | 0.4120 | 6.50 | 36 | 87.70 | 12.90 | 20.40 | 13.90 | 6 | 0.2286 |
| 3B | Austin Riley | 419 | 1.0049 | 0.0648 | neutral | 0.2940 | 0.2070 | 0.3760 | 10.60 | 43.30 | 90.70 | 19.10 | 32.70 | 28.90 | 8.10 | 0.3143 |
| RF | Mike Yastrzemski | 236 | 0.9957 | -0.0573 | neutral | 0.2990 | 0.2260 | 0.3390 | 5.10 | 42.90 | 90.50 | 14.70 | 24 | 23.90 | 10.30 | -0.0286 |
| SS | Jim Jarvis | 426 | 0.9587 | -0.5504 | positive_batter_regression | 0.1970 | 0.2080 | 0.2390 | 0 | 37.50 | 89.50 | -3.20 | 8 | 27.30 | 0 | 1 |
{
"home": {
"applied": true,
"offense_factor": 1.0292,
"raw_average_factor": 1.0292,
"team_espn_average_rank": 187.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "621566",
"player_name": "Matt Olson",
"offense_factor": 1.0937,
"quality_score": 1.2499,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621566",
"espn_id": 32767,
"player_name": "Matt Olson",
"team": "ATL",
"role": "batter",
"espn_rank": 27,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 27,
"gp_value": 88.0,
"gp_rank": 24,
"ab_value": 343.0,
"ab_rank": 14,
"r_value": 59.0,
"r_rank": 10,
"h_value": 93.0,
"h_rank": 22,
"avg_value": 0.271137,
"avg_rank": 45.0,
"2b_value": 23.0,
"2b_rank": 3,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 22.0,
"hr_rank": 9,
"rbi_value": 54.0,
"rbi_rank": 25,
"tb_value": 182.0,
"tb_rank": 444,
"bb_value": 37.0,
"bb_rank": 48,
"so_value": 89.0,
"so_rank": 31,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3411458,
"obp_rank": "62",
"slg_value": 0.5306122,
"slg_rank": "11",
"ops_value": 0.871758,
"ops_rank": 51.0,
"war_value": 2.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 23.2,
"bb_percent": 9.6,
"woba": 0.372,
"xwoba": 0.364,
"xba": 0.257,
"xslg": 0.521,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 13.7,
"hard_hit_percent": 51.4,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 18.0,
"whiff_percent": 24.3,
"swing_percent": 45.8
},
"components": {
"expected_quality": 1.4906,
"regression_edge": -0.2286,
"xwoba_edge": 1.7714,
"xba_edge": 0.5143,
"xslg_edge": 2.1214,
"barrel_edge": 1.4889,
"hard_hit_edge": 1.8786,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "645277",
"player_name": "Ozzie Albies",
"offense_factor": 0.9777,
"quality_score": -0.2972,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "645277",
"espn_id": 33783,
"player_name": "Ozzie Albies",
"team": "ATL",
"role": "batter",
"espn_rank": 76,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 76,
"gp_value": 88.0,
"gp_rank": 24,
"ab_value": 339.0,
"ab_rank": 18,
"r_value": 57.0,
"r_rank": 16,
"h_value": 92.0,
"h_rank": 27,
"avg_value": 0.2713864,
"avg_rank": 45.0,
"2b_value": 17.0,
"2b_rank": 42,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 14.0,
"hr_rank": 48,
"rbi_value": 49.0,
"rbi_rank": 41,
"tb_value": 151.0,
"tb_rank": 605,
"bb_value": 26.0,
"bb_rank": 128,
"so_value": 45.0,
"so_rank": 217,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3218997,
"obp_rank": "97",
"slg_value": 0.4454277,
"slg_rank": "68",
"ops_value": 0.7673274,
"ops_rank": 165.0,
"war_value": 1.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 242.0,
"k_percent": 11.9,
"bb_percent": 6.9,
"woba": 0.33,
"xwoba": 0.298,
"xba": 0.249,
"xslg": 0.38,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 27.6,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 17.2,
"whiff_percent": 20.3,
"swing_percent": 55.2
},
"components": {
"expected_quality": -0.1968,
"regression_edge": -0.9143,
"xwoba_edge": -0.1143,
"xba_edge": 0.2857,
"xslg_edge": 0.1071,
"barrel_edge": -0.6,
"hard_hit_edge": -1.5214,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "671739",
"player_name": "Michael Harris II",
"offense_factor": 1.0991,
"quality_score": 1.3208,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671739",
"espn_id": 42470,
"player_name": "Michael Harris II",
"team": "ATL",
"role": "batter",
"espn_rank": 35,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 35,
"gp_value": 82.0,
"gp_rank": 108,
"ab_value": 301.0,
"ab_rank": 92,
"r_value": 42.0,
"r_rank": 84,
"h_value": 91.0,
"h_rank": 28,
"avg_value": 0.3023255,
"avg_rank": 10.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 16.0,
"hr_rank": 37,
"rbi_value": 51.0,
"rbi_rank": 32,
"tb_value": 152.0,
"tb_rank": 691,
"bb_value": 15.0,
"bb_rank": 242,
"so_value": 64.0,
"so_rank": 116,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3354231,
"obp_rank": "74",
"slg_value": 0.5049833,
"slg_rank": "22",
"ops_value": 0.8404064,
"ops_rank": 52.0,
"war_value": 2.68,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 20.1,
"bb_percent": 4.7,
"woba": 0.362,
"xwoba": 0.374,
"xba": 0.305,
"xslg": 0.53,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 13.9,
"hard_hit_percent": 50.6,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 10.4,
"whiff_percent": 25.9,
"swing_percent": 55.5
},
"components": {
"expected_quality": 1.6769,
"regression_edge": 0.3429,
"xwoba_edge": 2.0571,
"xba_edge": 1.8857,
"xslg_edge": 2.25,
"barrel_edge": 1.5333,
"hard_hit_edge": 1.7643,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "686948",
"player_name": "Drake Baldwin",
"offense_factor": 1.1102,
"quality_score": 1.4694,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686948",
"espn_id": 4810190,
"player_name": "Drake Baldwin",
"team": "ATL",
"role": "batter",
"espn_rank": 101,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 101,
"gp_value": 65.0,
"gp_rank": 209,
"ab_value": 255.0,
"ab_rank": 138,
"r_value": 48.0,
"r_rank": 46,
"h_value": 64.0,
"h_rank": 127,
"avg_value": 0.2509803,
"avg_rank": 88.0,
"2b_value": 6.0,
"2b_rank": 273,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 15.0,
"hr_rank": 43,
"rbi_value": 43.0,
"rbi_rank": 67,
"tb_value": 115.0,
"tb_rank": 975,
"bb_value": 27.0,
"bb_rank": 121,
"so_value": 68.0,
"so_rank": 96,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3356401,
"obp_rank": "73",
"slg_value": 0.4509803,
"slg_rank": "62",
"ops_value": 0.7866204,
"ops_rank": 11.0,
"war_value": 1.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 23.5,
"bb_percent": 9.3,
"woba": 0.344,
"xwoba": 0.373,
"xba": 0.27,
"xslg": 0.51,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 16.0,
"hard_hit_percent": 48.4,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 10.6,
"whiff_percent": 25.1,
"swing_percent": 49.7
},
"components": {
"expected_quality": 1.6135,
"regression_edge": 0.8286,
"xwoba_edge": 2.0286,
"xba_edge": 0.8857,
"xslg_edge": 1.9643,
"barrel_edge": 2.0,
"hard_hit_edge": 1.45,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"offense_factor": 1.012,
"quality_score": 0.16,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643289",
"espn_id": 35304,
"player_name": "Mauricio Dubon",
"team": "ATL",
"role": "batter",
"espn_rank": 39,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 39,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 312.0,
"ab_rank": 76,
"r_value": 41.0,
"r_rank": 92,
"h_value": 85.0,
"h_rank": 50,
"avg_value": 0.2724358,
"avg_rank": 42.0,
"2b_value": 17.0,
"2b_rank": 42,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 9.0,
"hr_rank": 118,
"rbi_value": 48.0,
"rbi_rank": 45,
"tb_value": 133.0,
"tb_rank": 500,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 47.0,
"so_rank": 204,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3303834,
"obp_rank": "80",
"slg_value": 0.426282,
"slg_rank": "80",
"ops_value": 0.7566654,
"ops_rank": null,
"war_value": 2.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 13.8,
"bb_percent": 7.3,
"woba": 0.333,
"xwoba": 0.323,
"xba": 0.274,
"xslg": 0.4,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 30.5,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 15.0,
"whiff_percent": 16.3,
"swing_percent": 51.3
},
"components": {
"expected_quality": 0.2386,
"regression_edge": -0.2857,
"xwoba_edge": 0.6,
"xba_edge": 1.0,
"xslg_edge": 0.3929,
"barrel_edge": -0.4667,
"hard_hit_edge": -1.1071,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "642086",
"player_name": "Dominic Smith",
"offense_factor": 1.0111,
"quality_score": 0.1483,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642086",
"espn_id": 33218,
"player_name": "Dominic Smith",
"team": "ATL",
"role": "batter",
"espn_rank": 327,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 327,
"gp_value": 73.0,
"gp_rank": 166,
"ab_value": 196.0,
"ab_rank": 219,
"r_value": 28.0,
"r_rank": 188,
"h_value": 53.0,
"h_rank": 185,
"avg_value": 0.2704081,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 273,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 35.0,
"rbi_rank": 117,
"tb_value": 79.0,
"tb_rank": 1220,
"bb_value": 13.0,
"bb_rank": 266,
"so_value": 30.0,
"so_rank": 310,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3116279,
"obp_rank": "-",
"slg_value": 0.4030612,
"slg_rank": "-",
"ops_value": 0.7146891,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 13.9,
"bb_percent": 6.0,
"woba": 0.311,
"xwoba": 0.319,
"xba": 0.265,
"xslg": 0.412,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 12.9,
"whiff_percent": 20.4,
"swing_percent": 49.9
},
"components": {
"expected_quality": 0.2899,
"regression_edge": 0.2286,
"xwoba_edge": 0.4857,
"xba_edge": 0.7429,
"xslg_edge": 0.5643,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.3214,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "663586",
"player_name": "Austin Riley",
"offense_factor": 1.0049,
"quality_score": 0.0648,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663586",
"espn_id": 34982,
"player_name": "Austin Riley",
"team": "ATL",
"role": "batter",
"espn_rank": 419,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 419,
"gp_value": 88.0,
"gp_rank": 24,
"ab_value": 318.0,
"ab_rank": 63,
"r_value": 36.0,
"r_rank": 121,
"h_value": 67.0,
"h_rank": 120,
"avg_value": 0.2106918,
"avg_rank": 153.0,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 9.0,
"hr_rank": 118,
"rbi_value": 41.0,
"rbi_rank": 77,
"tb_value": 108.0,
"tb_rank": 790,
"bb_value": 29.0,
"bb_rank": 98,
"so_value": 103.0,
"so_rank": 12,
"sb_value": 4.0,
"sb_rank": 146,
"obp_value": 0.2893258,
"obp_rank": "148",
"slg_value": 0.3396226,
"slg_rank": "148",
"ops_value": 0.6289484,
"ops_rank": 296.0,
"war_value": -0.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 232.0,
"k_percent": 28.9,
"bb_percent": 8.1,
"woba": 0.283,
"xwoba": 0.294,
"xba": 0.207,
"xslg": 0.376,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 43.3,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 19.1,
"whiff_percent": 32.7,
"swing_percent": 47.6
},
"components": {
"expected_quality": 0.0242,
"regression_edge": 0.3143,
"xwoba_edge": -0.2286,
"xba_edge": -0.9143,
"xslg_edge": 0.05,
"barrel_edge": 0.8,
"hard_hit_edge": 0.7214,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"offense_factor": 0.9957,
"quality_score": -0.0573,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573262",
"espn_id": 33341,
"player_name": "Mike Yastrzemski",
"team": "ATL",
"role": "batter",
"espn_rank": 236,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 236,
"gp_value": 80.0,
"gp_rank": 125,
"ab_value": 213.0,
"ab_rank": 191,
"r_value": 29.0,
"r_rank": 178,
"h_value": 48.0,
"h_rank": 208,
"avg_value": 0.2253521,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 196,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 22.0,
"rbi_rank": 232,
"tb_value": 74.0,
"tb_rank": 1244,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 58.0,
"so_rank": 145,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3168724,
"obp_rank": "-",
"slg_value": 0.3474178,
"slg_rank": "-",
"ops_value": 0.6642902,
"ops_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 151.0,
"k_percent": 23.9,
"bb_percent": 10.3,
"woba": 0.3,
"xwoba": 0.299,
"xba": 0.226,
"xslg": 0.339,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 14.7,
"whiff_percent": 24.0,
"swing_percent": 41.4
},
"components": {
"expected_quality": -0.0924,
"regression_edge": -0.0286,
"xwoba_edge": -0.0857,
"xba_edge": -0.3714,
"xslg_edge": -0.4786,
"barrel_edge": -0.4222,
"hard_hit_edge": 0.6643,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "805347",
"player_name": "Jim Jarvis",
"offense_factor": 0.9587,
"quality_score": -0.5504,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805347",
"espn_id": 5205951,
"player_name": "Jim Jarvis",
"team": "ATL",
"role": "batter",
"espn_rank": 426,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 426,
"gp_value": 4.0,
"gp_rank": 567,
"ab_value": 11.0,
"ab_rank": 554,
"r_value": 0.0,
"r_rank": 561,
"h_value": 2.0,
"h_rank": 531,
"avg_value": 0.1818181,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 513,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 0.0,
"hr_rank": 470,
"rbi_value": 0.0,
"rbi_rank": 542,
"tb_value": 2.0,
"tb_rank": 2900,
"bb_value": 0.0,
"bb_rank": 544,
"so_value": 3.0,
"so_rank": 544,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.1818181,
"obp_rank": "-",
"slg_value": 0.1818181,
"slg_rank": "-",
"ops_value": 0.3636362,
"ops_rank": null,
"war_value": -0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 5.0,
"k_percent": 27.3,
"bb_percent": 0.0,
"woba": 0.162,
"xwoba": 0.197,
"xba": 0.208,
"xslg": 0.239,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 89.5,
"launch_angle_avg": -3.2,
"whiff_percent": 8.0,
"swing_percent": 48.1
},
"components": {
"expected_quality": -1.585,
"regression_edge": 1.0,
"xwoba_edge": -2.5,
"xba_edge": -0.8857,
"xslg_edge": -1.9071,
"barrel_edge": -1.5556,
"hard_hit_edge": -0.1071,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -1.3833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0333,
"raw_average_factor": 1.0333,
"team_espn_average_rank": 244.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "666182",
"player_name": "Bo Bichette",
"offense_factor": 1.0556,
"quality_score": 0.7412,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666182",
"espn_id": 38904,
"player_name": "Bo Bichette",
"team": "NYM",
"role": "batter",
"espn_rank": 261,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 261,
"gp_value": 90.0,
"gp_rank": 6,
"ab_value": 361.0,
"ab_rank": 3,
"r_value": 46.0,
"r_rank": 53,
"h_value": 93.0,
"h_rank": 22,
"avg_value": 0.2576177,
"avg_rank": 72.0,
"2b_value": 14.0,
"2b_rank": 92,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 50.0,
"rbi_rank": 39,
"tb_value": 139.0,
"tb_rank": 597,
"bb_value": 24.0,
"bb_rank": 146,
"so_value": 71.0,
"so_rank": 88,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3035714,
"obp_rank": "135",
"slg_value": 0.3850415,
"slg_rank": "116",
"ops_value": 0.6886129,
"ops_rank": 251.0,
"war_value": 0.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 240.0,
"k_percent": 18.1,
"bb_percent": 6.1,
"woba": 0.302,
"xwoba": 0.332,
"xba": 0.285,
"xslg": 0.432,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 8.3,
"whiff_percent": 19.6,
"swing_percent": 53.2
},
"components": {
"expected_quality": 0.7223,
"regression_edge": 0.8571,
"xwoba_edge": 0.8571,
"xba_edge": 1.3143,
"xslg_edge": 0.85,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.8786,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "665742",
"player_name": "Juan Soto",
"offense_factor": 1.0964,
"quality_score": 1.2848,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665742",
"espn_id": 36969,
"player_name": "Juan Soto",
"team": "NYM",
"role": "batter",
"espn_rank": 28,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 28,
"gp_value": 71.0,
"gp_rank": 176,
"ab_value": 254.0,
"ab_rank": 141,
"r_value": 40.0,
"r_rank": 101,
"h_value": 76.0,
"h_rank": 85,
"avg_value": 0.2992125,
"avg_rank": 13.0,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 18.0,
"hr_rank": 25,
"rbi_value": 43.0,
"rbi_rank": 67,
"tb_value": 142.0,
"tb_rank": 432,
"bb_value": 47.0,
"bb_rank": 21,
"so_value": 38.0,
"so_rank": 259,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.4072847,
"obp_rank": "3",
"slg_value": 0.5590551,
"slg_rank": "6",
"ops_value": 0.9663398,
"ops_rank": 3.0,
"war_value": 2.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 156.0,
"k_percent": 12.5,
"bb_percent": 15.5,
"woba": 0.409,
"xwoba": 0.426,
"xba": 0.309,
"xslg": 0.599,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 14.4,
"hard_hit_percent": 49.3,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 15.0,
"whiff_percent": 19.8,
"swing_percent": 39.3
},
"components": {
"expected_quality": 2.0278,
"regression_edge": 0.4857,
"xwoba_edge": 2.5,
"xba_edge": 2.0,
"xslg_edge": 2.5,
"barrel_edge": 1.6444,
"hard_hit_edge": 1.5786,
"exit_velocity_edge": 1.56,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "805999",
"player_name": "A.J. Ewing",
"offense_factor": 1.0261,
"quality_score": 0.3485,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805999",
"espn_id": 5208019,
"player_name": "A.J. Ewing",
"team": "NYM",
"role": "batter",
"espn_rank": 110,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 110,
"gp_value": 50.0,
"gp_rank": 299,
"ab_value": 166.0,
"ab_rank": 251,
"r_value": 20.0,
"r_rank": 251,
"h_value": 44.0,
"h_rank": 224,
"avg_value": 0.2650602,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 244,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 20.0,
"rbi_rank": 247,
"tb_value": 68.0,
"tb_rank": 1308,
"bb_value": 20.0,
"bb_rank": 187,
"so_value": 47.0,
"so_rank": 204,
"sb_value": 8.0,
"sb_rank": 69,
"obp_value": 0.3457446,
"obp_rank": "-",
"slg_value": 0.4096385,
"slg_rank": "-",
"ops_value": 0.7553831,
"ops_rank": null,
"war_value": 1.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 57.0,
"k_percent": 24.7,
"bb_percent": 10.5,
"woba": 0.335,
"xwoba": 0.347,
"xba": 0.275,
"xslg": 0.432,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 43.4,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 12.2,
"whiff_percent": 22.8,
"swing_percent": 44.1
},
"components": {
"expected_quality": 0.8447,
"regression_edge": 0.3429,
"xwoba_edge": 1.2857,
"xba_edge": 1.0286,
"xslg_edge": 0.85,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.7357,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "596019",
"player_name": "Francisco Lindor",
"offense_factor": 1.0358,
"quality_score": 0.4776,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "596019",
"espn_id": 32129,
"player_name": "Francisco Lindor",
"team": "NYM",
"role": "batter",
"espn_rank": 194,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 194,
"gp_value": 33.0,
"gp_rank": 376,
"ab_value": 129.0,
"ab_rank": 305,
"r_value": 20.0,
"r_rank": 251,
"h_value": 29.0,
"h_rank": 308,
"avg_value": 0.2248062,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 417,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 10.0,
"rbi_rank": 354,
"tb_value": 49.0,
"tb_rank": 1486,
"bb_value": 14.0,
"bb_rank": 255,
"so_value": 24.0,
"so_rank": 363,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3103448,
"obp_rank": "-",
"slg_value": 0.3798449,
"slg_rank": "-",
"ops_value": 0.6901897,
"ops_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 105.0,
"k_percent": 16.6,
"bb_percent": 9.7,
"woba": 0.307,
"xwoba": 0.348,
"xba": 0.264,
"xslg": 0.449,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 13.1,
"whiff_percent": 23.3,
"swing_percent": 44.6
},
"components": {
"expected_quality": 0.9729,
"regression_edge": 1.1714,
"xwoba_edge": 1.3143,
"xba_edge": 0.7143,
"xslg_edge": 1.0929,
"barrel_edge": 0.3556,
"hard_hit_edge": 1.4786,
"exit_velocity_edge": 1.36,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "701807",
"player_name": "Carson Benge",
"offense_factor": 1.062,
"quality_score": 0.8272,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701807",
"espn_id": 4925604,
"player_name": "Carson Benge",
"team": "NYM",
"role": "batter",
"espn_rank": 122,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 122,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 329.0,
"ab_rank": 35,
"r_value": 45.0,
"r_rank": 63,
"h_value": 84.0,
"h_rank": 55,
"avg_value": 0.2553191,
"avg_rank": 80.0,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 34.0,
"rbi_rank": 126,
"tb_value": 129.0,
"tb_rank": 557,
"bb_value": 23.0,
"bb_rank": 156,
"so_value": 77.0,
"so_rank": 72,
"sb_value": 11.0,
"sb_rank": 39,
"obp_value": 0.3117977,
"obp_rank": "116",
"slg_value": 0.3920972,
"slg_rank": "109",
"ops_value": 0.7038949,
"ops_rank": 7.0,
"war_value": 1.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 21.6,
"bb_percent": 6.5,
"woba": 0.311,
"xwoba": 0.345,
"xba": 0.286,
"xslg": 0.449,
"sweet_spot_percent": 40.5,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 12.2,
"whiff_percent": 21.7,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.9052,
"regression_edge": 0.9714,
"xwoba_edge": 1.2286,
"xba_edge": 1.3429,
"xslg_edge": 1.0929,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.4929,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": 1.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "676724",
"player_name": "Jared Young",
"offense_factor": 1.0148,
"quality_score": 0.1972,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676724",
"espn_id": 41575,
"player_name": "Jared Young",
"team": "NYM",
"role": "batter",
"espn_rank": 209,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 209,
"gp_value": 45.0,
"gp_rank": 321,
"ab_value": 121.0,
"ab_rank": 315,
"r_value": 14.0,
"r_rank": 328,
"h_value": 27.0,
"h_rank": 321,
"avg_value": 0.2231404,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 340,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 16.0,
"rbi_rank": 284,
"tb_value": 49.0,
"tb_rank": 1683,
"bb_value": 10.0,
"bb_rank": 317,
"so_value": 30.0,
"so_rank": 310,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2910447,
"obp_rank": "-",
"slg_value": 0.4049586,
"slg_rank": "-",
"ops_value": 0.6960033,
"ops_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 25.0,
"k_percent": 22.4,
"bb_percent": 7.5,
"woba": 0.305,
"xwoba": 0.318,
"xba": 0.228,
"xslg": 0.412,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 11.9,
"whiff_percent": 26.2,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.4492,
"regression_edge": 0.3714,
"xwoba_edge": 0.4571,
"xba_edge": -0.3143,
"xslg_edge": 0.5643,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.3643,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -1.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"offense_factor": 1.0401,
"quality_score": 0.535,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682626",
"espn_id": 41253,
"player_name": "Francisco Alvarez",
"team": "NYM",
"role": "batter",
"espn_rank": 315,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 315,
"gp_value": 59.0,
"gp_rank": 235,
"ab_value": 191.0,
"ab_rank": 229,
"r_value": 19.0,
"r_rank": 268,
"h_value": 47.0,
"h_rank": 210,
"avg_value": 0.2460732,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 244,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 9.0,
"hr_rank": 118,
"rbi_value": 19.0,
"rbi_rank": 255,
"tb_value": 81.0,
"tb_rank": 1254,
"bb_value": 15.0,
"bb_rank": 242,
"so_value": 56.0,
"so_rank": 152,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3095238,
"obp_rank": "-",
"slg_value": 0.4240837,
"slg_rank": "-",
"ops_value": 0.7336075,
"ops_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 128.0,
"k_percent": 26.4,
"bb_percent": 7.1,
"woba": 0.321,
"xwoba": 0.338,
"xba": 0.247,
"xslg": 0.473,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 16.9,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 10.5,
"whiff_percent": 32.9,
"swing_percent": 47.6
},
"components": {
"expected_quality": 0.9902,
"regression_edge": 0.4857,
"xwoba_edge": 1.0286,
"xba_edge": 0.2286,
"xslg_edge": 1.4357,
"barrel_edge": 2.2,
"hard_hit_edge": 0.95,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "677595",
"player_name": "Ronny Mauricio",
"offense_factor": 0.9665,
"quality_score": -0.447,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677595",
"espn_id": 40978,
"player_name": "Ronny Mauricio",
"team": "NYM",
"role": "batter",
"espn_rank": 543,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 543,
"gp_value": 16.0,
"gp_rank": 470,
"ab_value": 46.0,
"ab_rank": 457,
"r_value": 3.0,
"r_rank": 471,
"h_value": 8.0,
"h_rank": 467,
"avg_value": 0.173913,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 459,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 2.0,
"rbi_rank": 492,
"tb_value": 12.0,
"tb_rank": 2548,
"bb_value": 0.0,
"bb_rank": 544,
"so_value": 18.0,
"so_rank": 411,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.173913,
"obp_rank": "-",
"slg_value": 0.2608695,
"slg_rank": "-",
"ops_value": 0.4347825,
"ops_rank": null,
"war_value": -0.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 32.0,
"k_percent": 39.1,
"bb_percent": 0.0,
"woba": 0.188,
"xwoba": 0.204,
"xba": 0.177,
"xslg": 0.303,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 6.7,
"whiff_percent": 33.0,
"swing_percent": 63.6
},
"components": {
"expected_quality": -1.2295,
"regression_edge": 0.4571,
"xwoba_edge": -2.5,
"xba_edge": -1.7714,
"xslg_edge": -0.9929,
"barrel_edge": 0.8222,
"hard_hit_edge": -0.3643,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "683146",
"player_name": "Brett Baty",
"offense_factor": 1.0022,
"quality_score": 0.0299,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683146",
"espn_id": 42414,
"player_name": "Brett Baty",
"team": "NYM",
"role": "batter",
"espn_rank": 415,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 415,
"gp_value": 86.0,
"gp_rank": 50,
"ab_value": 262.0,
"ab_rank": 129,
"r_value": 30.0,
"r_rank": 171,
"h_value": 57.0,
"h_rank": 164,
"avg_value": 0.2175572,
"avg_rank": 146.0,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 27.0,
"rbi_rank": 191,
"tb_value": 80.0,
"tb_rank": 1341,
"bb_value": 29.0,
"bb_rank": 98,
"so_value": 81.0,
"so_rank": 57,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.2996632,
"obp_rank": "138",
"slg_value": 0.3053435,
"slg_rank": "156",
"ops_value": 0.6050067,
"ops_rank": 294.0,
"war_value": -0.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 27.2,
"bb_percent": 9.7,
"woba": 0.276,
"xwoba": 0.298,
"xba": 0.229,
"xslg": 0.359,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 10.0,
"whiff_percent": 28.4,
"swing_percent": 47.0
},
"components": {
"expected_quality": -0.0598,
"regression_edge": 0.6286,
"xwoba_edge": -0.1143,
"xba_edge": -0.2857,
"xslg_edge": -0.1929,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.05,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYM | True | 416 | 0.1698 | 1 | 0.9856 | 0.9989 | 1.0020 | 0.9525 | positive_pitcher_regression | 0.3020 | 0.3330 | 21.80 | 9 | 26.10 | 4.90 | 39.20 | |
| Home ATL | True | 196 | -0.1205 | 0.5840 | 1.0102 | 0.9820 | 1.0128 | 0.9872 | neutral | 0.3310 | 0.3100 | 21 | 10 | 21.70 | 6.10 | 35.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYM | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home ATL | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0060 |
| home_runs_vs_away_pitcher | 0.9856 |
| home_pitcher_quality_edge | -0.2903 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "625643",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 146.0,
"k_percent": 21.0,
"bb_percent": 10.0,
"woba": 0.31,
"xwoba": 0.331,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 35.6,
"avg_best_speed": 75.0817,
"avg_hyper_speed": 93.4128,
"whiff_percent": 21.7,
"swing_percent": 44.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.0998,
"command_and_miss": -0.3479,
"regression_edge": -0.6,
"xwoba_edge": -0.5143,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.4,
"whiff_edge": -0.5429,
"bb_edge": -0.275,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "625643",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1205,
"sample_weight": 0.584,
"run_prevention_factor": 1.0102,
"strikeout_factor": 0.982,
"walk_factor": 1.0128,
"homer_factor": 0.9872,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "625643",
"espn_id": 33860,
"player_name": "Reynaldo Lopez",
"team": "ATL",
"role": "pitcher",
"espn_rank": 196,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 196,
"gp_value": 20.0,
"gp_rank": 221,
"gs_value": 7.0,
"gs_rank": 156,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 3.3096,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 1.0,
"hld_rank": 210,
"ip_value": 51.2,
"ip_rank": 155,
"h_value": 45.0,
"h_rank": 156,
"er_value": 19.0,
"er_rank": 197,
"hr_value": 6.0,
"hr_rank": 171,
"bb_value": 22.0,
"bb_rank": 135,
"k_value": 46.0,
"k_rank": 170,
"k_per_9_value": 8.012903,
"k_per_9_rank": 29.0,
"whip_value": 1.2967,
"whip_rank": null,
"war_value": 0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "642547",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 262.0,
"k_percent": 21.8,
"bb_percent": 9.0,
"woba": 0.333,
"xwoba": 0.302,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 39.2,
"avg_best_speed": 76.3932,
"avg_hyper_speed": 93.7294,
"whiff_percent": 26.1,
"swing_percent": 46.5
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.1573,
"command_and_miss": -0.0264,
"regression_edge": 0.8857,
"xwoba_edge": 0.3143,
"barrel_edge": 0.5333,
"hard_hit_edge": -0.1143,
"whiff_edge": 0.0857,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642547",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1698,
"sample_weight": 1.0,
"run_prevention_factor": 0.9856,
"strikeout_factor": 0.9989,
"walk_factor": 1.002,
"homer_factor": 0.9525,
"woba_minus_xwoba": 0.031,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642547",
"espn_id": 39825,
"player_name": "Freddy Peralta",
"team": "NYM",
"role": "pitcher",
"espn_rank": 416,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 416,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 4.0,
"qs_rank": 87,
"era_value": 4.8146,
"era_rank": 59.0,
"w_value": 5.0,
"w_rank": 63,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 95.1,
"ip_rank": 42,
"h_value": 97.0,
"h_rank": 20,
"er_value": 51.0,
"er_rank": 12,
"hr_value": 13.0,
"hr_rank": 37,
"bb_value": 38.0,
"bb_rank": 14,
"k_value": 92.0,
"k_rank": 38,
"k_per_9_value": 8.685315,
"k_per_9_rank": 24.0,
"whip_value": 1.416,
"whip_rank": 60.0,
"war_value": 0.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.006,
"home_runs_vs_away_pitcher": 0.9856,
"home_pitcher_quality_edge": -0.2903
},
"score_before": {
"away_runs": 2.5219,
"home_runs": 4.3506
},
"score_after": {
"away_runs": 2.5369,
"home_runs": 4.2879,
"home_win_probability": 0.6436
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away NYM | 3-7 | 0.300 | 3.40 | 4.70 | -13 | cold | average | |
| Home ATL | 4-6 | 0.400 | 4.50 | 4.20 | 3 | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away NYM | 37-53 | 0.411 | -61 | -0.678 | True |
| Home ATL | 52-37 | 0.584 | 91 | 1.022 | True |
| Signal | - | - | 1.700 | 1.960 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target NYM | - | - | 2 | - | - | - | - |
| Game target ATL | - | - | 5 | - | - | - | - |
| Player finalized NYM | 32 | 8 | 1 | 0 | 1 | 1 | 9 |
| Player finalized ATL | 33 | 9 | 5 | 0 | 6 | 0 | 9 |
| Player model fractional NYM | 32.17 | 6.89 | 3.45 | 0.98 | 3.17 | 2.71 | 7.82 |
| Player model fractional ATL | 32.08 | 8.14 | 4.70 | 1.36 | 4.90 | 2.54 | 6.89 |
| Simulation box NYM | 36 | 9 | 3 | 1 | 3 | 3 | 5 |
| Simulation box ATL | 31 | 7 | 5 | 2 | 5 | 1 | 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 NYM | Starter | Freddy Peralta | 5 | 5 | 1 | 6 | 0 | 6.43 | 1.55 | True |
| Away NYM | Middle Reliever | Brooks Raley | 1 | 0 | 1 | 1 | 0 | 3.89 | 1.20 | True |
| Away NYM | Middle Reliever | Huascar Brazobán | 1 | 0 | 1 | 0 | 0 | 5.97 | 1.41 | True |
| Away NYM | Middle Reliever | Luke Weaver | 1 | 0 | 2 | 0 | 1 | 2.07 | 0.73 | True |
| Away NYM | Middle Reliever | Devin Williams | 0 | 0 | 0 | 0 | 0 | 3.31 | 1.44 | True |
| Home ATL | Starter | Reynaldo López | 5 | 2 | 4 | 3 | 2 | 3.02 | 1.14 | True |
| Home ATL | Middle Reliever | Dylan Lee | 1 | 1 | 0 | 2 | 1 | 4.22 | 1.01 | True |
| Home ATL | Middle Reliever | Raisel Iglesias | 2.10 | 0 | 0 | 2 | 0 | 3.17 | 1.22 | True |
| Home ATL | Middle Reliever | Tyler Kinley | 0.20 | 0 | 1 | 2 | 0 | 5.08 | 1.29 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | NYM | batter | C | Francisco Alvarez | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 2.6600 | boost | better |
| home | ATL | batter | C | Drake Baldwin | worse | 9 | 3 | 6 | 4 | 5 | predicted_RBI | 2.3900 | boost | better |
| away | NYM | batter | CF | A.J. Ewing | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 1.2000 | boost | better |
| home | ATL | batter | 3B | Austin Riley | better | 9 | 4 | 5 | 5 | 4 | predicted_H | 1.1900 | boost | better |
| away | NYM | batter | SS | Ronny Mauricio | worse | 9 | 2 | 7 | 3 | 6 | predicted_AB | 1.1250 | boost | better |
| home | ATL | pitcher | Middle Reliever | Raisel Iglesias | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.1000 | boost | better |
| home | ATL | batter | 2B | Ozzie Albies | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | -1.0100 | deboost | worse |
| away | NYM | pitcher | Starter | Freddy Peralta | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| away | NYM | pitcher | Middle Reliever | Devin Williams | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | ATL | batter | LF | Mauricio Dubón | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -1.0000 | deboost | worse |
| away | NYM | batter | LF | Juan Soto | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | -0.9900 | deboost | worse |
| home | ATL | batter | 1B | Matt Olson | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 0.9890 | boost | worse |
| away | NYM | batter | RF | Carson Benge | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.9500 | deboost | worse |
| home | ATL | batter | RF | Mike Yastrzemski | better | 10 | 5 | 5 | 6 | 4 | predicted_2B | 0.8830 | boost | better |
| away | NYM | batter | 3B | Bo Bichette | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 0.8800 | boost | better |
| away | NYM | batter | 1B | Jared Young | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | 0.7860 | boost | better |
| away | NYM | batter | 2B | Brett Baty | worse | 10 | 2 | 8 | 2 | 8 | predicted_AB | 0.7750 | boost | better |
| home | ATL | batter | SS | Jim Jarvis | worse | 8 | 2 | 6 | 3 | 5 | predicted_SO | -0.7500 | deboost | better |
| home | ATL | batter | DH | Dominic Smith | worse | 9 | 2 | 7 | 1 | 8 | predicted_H | -0.7100 | deboost | worse |
| away | NYM | batter | DH | Francisco Lindor | worse | 11 | 2 | 9 | 1 | 10 | predicted_R | -0.6060 | deboost | worse |
| home | ATL | batter | CF | Michael Harris II | worse | 11 | 5 | 6 | 4 | 7 | predicted_R | 0.4760 | boost | better |
| home | ATL | pitcher | Middle Reliever | Tyler Kinley | 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 | Freddy Peralta |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1698 |
| ESPN Rank | 416 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5 |
| Pre ER | 5 |
| Pre H | 6 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.8147 |
| Season WHIP | 1.4161 |
| Role Avg IP | 5.2960 |
| Recent Avg IP | 4.6670 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"opponent": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"edges": {
"quality_edge": -0.4131,
"offense_edge": -0.1438,
"opponent_offense_edge": 0.0494,
"defense_strength": 0.0019,
"opponent_defense_weakness": -0.2305,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9816,
"run_prevention": 1.0284,
"strikeout": 0.9837
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642547",
"profile": {
"available": true,
"pitcher_id": "642547",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 262.0,
"k_percent": 21.8,
"bb_percent": 9.0,
"woba": 0.333,
"xwoba": 0.302,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 39.2,
"avg_best_speed": 76.3932,
"avg_hyper_speed": 93.7294,
"whiff_percent": 26.1,
"swing_percent": 46.5
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.1573,
"command_and_miss": -0.0264,
"regression_edge": 0.8857,
"xwoba_edge": 0.3143,
"barrel_edge": 0.5333,
"hard_hit_edge": -0.1143,
"whiff_edge": 0.0857,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642547",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1698,
"sample_weight": 1.0,
"run_prevention_factor": 0.9856,
"strikeout_factor": 0.9989,
"walk_factor": 1.002,
"homer_factor": 0.9525,
"woba_minus_xwoba": 0.031,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642547",
"espn_id": 39825,
"player_name": "Freddy Peralta",
"team": "NYM",
"role": "pitcher",
"espn_rank": 416,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 416,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 4.0,
"qs_rank": 87,
"era_value": 4.8146,
"era_rank": 59.0,
"w_value": 5.0,
"w_rank": 63,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 95.1,
"ip_rank": 42,
"h_value": 97.0,
"h_rank": 20,
"er_value": 51.0,
"er_rank": 12,
"hr_value": 13.0,
"hr_rank": 37,
"bb_value": 38.0,
"bb_rank": 14,
"k_value": 92.0,
"k_rank": 38,
"k_per_9_value": 8.685315,
"k_per_9_rank": 24.0,
"whip_value": 1.416,
"whip_rank": 60.0,
"war_value": 0.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 0.9856,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 0.9856,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 1.002,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9525,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9989,
"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": 36,
"H": 63,
"BB": 20,
"SO": 49,
"HR": 9,
"ERA": 6.230769230769231,
"WHIP": 1.5961538461538463,
"K9": 8.48076923076923,
"HR9": 1.5576923076923077,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "642547",
"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": "642547",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.1,
"ER": 22.0,
"R": 25.0,
"H": 32.0,
"BB": 8.0,
"SO": 18.0,
"HR": 4.0,
"BF": 113.0,
"Pitches": 457.0
},
"per_game": {
"IP": 4.2,
"ER": 4.4,
"R": 5.0,
"H": 6.4,
"BB": 1.6,
"SO": 3.6,
"HR": 0.8,
"BF": 22.6,
"Pitches": 91.4
},
"rates": {
"ERA": 8.4857,
"WHIP": 1.7143,
"ER_per_IP": 0.94286,
"H_per_IP": 1.37143,
"BB_per_IP": 0.34286,
"SO_per_IP": 0.77143,
"HR_per_IP": 0.17143
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.0,
"ER": 36.0,
"R": 39.0,
"H": 63.0,
"BB": 20.0,
"SO": 49.0,
"HR": 9.0,
"BF": 237.0,
"Pitches": 956.0
},
"per_game": {
"IP": 5.1,
"ER": 3.6,
"R": 3.9,
"H": 6.3,
"BB": 2.0,
"SO": 4.9,
"HR": 0.9,
"BF": 23.7,
"Pitches": 95.6
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.5962,
"ER_per_IP": 0.69231,
"H_per_IP": 1.21154,
"BB_per_IP": 0.38462,
"SO_per_IP": 0.94231,
"HR_per_IP": 0.17308
}
},
"season": {
"games": 18,
"totals": {
"IP": 95.1,
"ER": 51.0,
"R": 56.0,
"H": 97.0,
"BB": 38.0,
"SO": 92.0,
"HR": 13.0,
"BF": 422.0,
"Pitches": 1698.0
},
"per_game": {
"IP": 5.1,
"ER": 2.8333,
"R": 3.1111,
"H": 5.3889,
"BB": 2.1111,
"SO": 5.1111,
"HR": 0.7222,
"BF": 23.4444,
"Pitches": 94.3333
},
"rates": {
"ERA": 4.8147,
"WHIP": 1.4161,
"ER_per_IP": 0.53497,
"H_per_IP": 1.01748,
"BB_per_IP": 0.3986,
"SO_per_IP": 0.96503,
"HR_per_IP": 0.13636
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.594,
"predicted_H": 5.956,
"predicted_BB": 1.84,
"predicted_SO": 4.465,
"predicted_HR": 0.812,
"predicted_ERA": 6.4349,
"predicted_WHIP": 1.5511
}
}{
"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": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 3.594,
"final": 4.2152,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.956,
"final": 5.9754,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.84,
"final": 1.027,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 4.465,
"final": 2.4921,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.812,
"final": 1.3369,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.4349,
"final": 6.4349,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5511,
"final": 1.5511,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brooks Raley |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1090 |
| ESPN Rank | 124 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.2500 |
| Season WHIP | 1.2188 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"opponent": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"edges": {
"quality_edge": -0.4131,
"offense_edge": -0.1438,
"opponent_offense_edge": 0.0494,
"defense_strength": 0.0019,
"opponent_defense_weakness": -0.2305,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9816,
"run_prevention": 1.0284,
"strikeout": 0.9837
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "548384",
"profile": {
"available": true,
"pitcher_id": "548384",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 25.5,
"bb_percent": 9.5,
"woba": 0.291,
"xwoba": 0.299,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 30.2,
"avg_best_speed": 75.5567,
"avg_hyper_speed": 93.0674,
"whiff_percent": 24.0,
"swing_percent": 46.9
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.4354,
"command_and_miss": 0.0814,
"regression_edge": -0.2286,
"xwoba_edge": 0.4,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.1714,
"whiff_edge": -0.2143,
"bb_edge": -0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "548384",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.109,
"sample_weight": 0.45,
"run_prevention_factor": 0.9907,
"strikeout_factor": 1.0036,
"walk_factor": 1.0054,
"homer_factor": 0.9615,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "548384",
"espn_id": 32005,
"player_name": "Brooks Raley",
"team": "NYM",
"role": "pitcher",
"espn_rank": 124,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 124,
"gp_value": 35.0,
"gp_rank": 73,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.25,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 12.0,
"hld_rank": 19,
"ip_value": 32.0,
"ip_rank": 304,
"h_value": 26.0,
"h_rank": 319,
"er_value": 8.0,
"er_rank": 451,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 13.0,
"bb_rank": 272,
"k_value": 35.0,
"k_rank": 255,
"k_per_9_value": 9.84375,
"k_per_9_rank": 22.0,
"whip_value": 1.2187,
"whip_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9827,
"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": 9.2,
"ER": 4,
"H": 8,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 3.724137931034483,
"WHIP": 1.1379310344827587,
"K9": 8.379310344827587,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "548384",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.346,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5593,
"prior_weight": 0.4407
},
"role": "pitcher",
"player_id": "548384",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 3.0,
"H": 4.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 76.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.8,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 15.2
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 5.0,
"H": 8.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.8,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 4.1,
"Pitches": 16.2
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.1379,
"ER_per_IP": 0.41379,
"H_per_IP": 0.82759,
"BB_per_IP": 0.31034,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.0
}
},
"season": {
"games": 35,
"totals": {
"IP": 32.0,
"ER": 8.0,
"R": 10.0,
"H": 26.0,
"BB": 13.0,
"SO": 35.0,
"HR": 2.0,
"BF": 137.0,
"Pitches": 524.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2286,
"R": 0.2857,
"H": 0.7429,
"BB": 0.3714,
"SO": 1.0,
"HR": 0.0571,
"BF": 3.9143,
"Pitches": 14.9714
},
"rates": {
"ERA": 2.25,
"WHIP": 1.2188,
"ER_per_IP": 0.25,
"H_per_IP": 0.8125,
"BB_per_IP": 0.40625,
"SO_per_IP": 1.09375,
"HR_per_IP": 0.0625
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.432,
"predicted_H": 0.882,
"predicted_BB": 0.314,
"predicted_SO": 0.926,
"predicted_HR": 0.073,
"predicted_ERA": 3.886,
"predicted_WHIP": 1.1956
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5362,
"form_weight": 0.4638,
"form_reliability": 0.5593,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.346,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5593,
"prior_weight": 0.4407
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.432,
"final": 0.2004,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.882,
"final": 0.9453,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.314,
"final": 0.1456,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.926,
"final": 0.9657,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.073,
"final": 0.0339,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.886,
"final": 3.886,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1956,
"final": 1.1956,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Huascar Brazobán |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3696 |
| ESPN Rank | 132 |
| 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 |
| Season WHIP | 1.0714 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"opponent": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"edges": {
"quality_edge": -0.4131,
"offense_edge": -0.1438,
"opponent_offense_edge": 0.0494,
"defense_strength": 0.0019,
"opponent_defense_weakness": -0.2305,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9816,
"run_prevention": 1.0284,
"strikeout": 0.9837
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623211",
"profile": {
"available": true,
"pitcher_id": "623211",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 104.0,
"k_percent": 23.1,
"bb_percent": 11.2,
"woba": 0.255,
"xwoba": 0.261,
"sweet_spot_percent": 24.5,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 21.8,
"avg_best_speed": 71.2102,
"avg_hyper_speed": 91.8337,
"whiff_percent": 25.7,
"swing_percent": 49.1
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.531,
"command_and_miss": -0.0729,
"regression_edge": -0.1714,
"xwoba_edge": 1.4857,
"barrel_edge": 1.0,
"hard_hit_edge": 2.3714,
"whiff_edge": 0.0286,
"bb_edge": -0.575,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623211",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3696,
"sample_weight": 0.45,
"run_prevention_factor": 0.9686,
"strikeout_factor": 1.0018,
"walk_factor": 1.0207,
"homer_factor": 0.9013,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623211",
"espn_id": 4916509,
"player_name": "Huascar Brazoban",
"team": "NYM",
"role": "pitcher",
"espn_rank": 132,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 132,
"gp_value": 36.0,
"gp_rank": 59,
"gs_value": 6.0,
"gs_rank": 171,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.0,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 6.0,
"hld_rank": 89,
"ip_value": 42.0,
"ip_rank": 189,
"h_value": 26.0,
"h_rank": 319,
"er_value": 14.0,
"er_rank": 288,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 19.0,
"bb_rank": 172,
"k_value": 39.0,
"k_rank": 222,
"k_per_9_value": 8.357143,
"k_per_9_rank": 31.0,
"whip_value": 1.0714,
"whip_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9556,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0008,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.1,
"ER": 6,
"H": 7,
"BB": 6,
"SO": 15,
"HR": 1,
"ERA": 4.764705882352941,
"WHIP": 1.1470588235294117,
"K9": 11.911764705882351,
"HR9": 0.7941176470588235,
"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-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "623211",
"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.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6249,
"prior_weight": 0.3751
},
"role": "pitcher",
"player_id": "623211",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 6.0,
"R": 6.0,
"H": 7.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.4,
"BB": 0.6,
"SO": 1.4,
"HR": 0.2,
"BF": 5.2,
"Pitches": 20.4
},
"rates": {
"ERA": 10.125,
"WHIP": 1.875,
"ER_per_IP": 1.125,
"H_per_IP": 1.3125,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 6.0,
"R": 6.0,
"H": 7.0,
"BB": 6.0,
"SO": 15.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.7,
"BB": 0.6,
"SO": 1.5,
"HR": 0.1,
"BF": 4.5,
"Pitches": 18.5
},
"rates": {
"ERA": 4.7647,
"WHIP": 1.1471,
"ER_per_IP": 0.52941,
"H_per_IP": 0.61765,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.32353,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 36,
"totals": {
"IP": 42.0,
"ER": 14.0,
"R": 15.0,
"H": 26.0,
"BB": 19.0,
"SO": 39.0,
"HR": 3.0,
"BF": 169.0,
"Pitches": 650.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3889,
"R": 0.4167,
"H": 0.7222,
"BB": 0.5278,
"SO": 1.0833,
"HR": 0.0833,
"BF": 4.6944,
"Pitches": 18.0556
},
"rates": {
"ERA": 3.0,
"WHIP": 1.0714,
"ER_per_IP": 0.33333,
"H_per_IP": 0.61905,
"BB_per_IP": 0.45238,
"SO_per_IP": 0.92857,
"HR_per_IP": 0.07143
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.69,
"predicted_H": 0.985,
"predicted_BB": 0.484,
"predicted_SO": 1.18,
"predicted_HR": 0.143,
"predicted_ERA": 5.9659,
"predicted_WHIP": 1.4098
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5085,
"form_weight": 0.4915,
"form_reliability": 0.6249,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6249,
"prior_weight": 0.3751
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.69,
"final": 0.3391,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.985,
"final": 0.4841,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.484,
"final": 0.2379,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.18,
"final": 1.0885,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.143,
"final": 0.0703,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.9659,
"final": 5.9659,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4098,
"final": 1.4098,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Luke Weaver |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3427 |
| ESPN Rank | 56 |
| 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 | 2 |
| Season ERA | 1.9459 |
| Season WHIP | 0.7838 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"opponent": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"edges": {
"quality_edge": -0.4131,
"offense_edge": -0.1438,
"opponent_offense_edge": 0.0494,
"defense_strength": 0.0019,
"opponent_defense_weakness": -0.2305,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9816,
"run_prevention": 1.0284,
"strikeout": 0.9837
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596133",
"profile": {
"available": true,
"pitcher_id": "596133",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 29.1,
"bb_percent": 6.4,
"woba": 0.202,
"xwoba": 0.254,
"sweet_spot_percent": 27.8,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 31.1,
"avg_best_speed": 77.9347,
"avg_hyper_speed": 92.9661,
"whiff_percent": 30.9,
"swing_percent": 53.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.2477,
"command_and_miss": 0.8129,
"regression_edge": -1.4857,
"xwoba_edge": 1.6857,
"barrel_edge": -0.3556,
"hard_hit_edge": 1.0429,
"whiff_edge": 0.7714,
"bb_edge": 0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "596133",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3427,
"sample_weight": 0.45,
"run_prevention_factor": 0.9709,
"strikeout_factor": 1.0306,
"walk_factor": 0.9775,
"homer_factor": 0.9713,
"woba_minus_xwoba": -0.052,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596133",
"espn_id": 33770,
"player_name": "Luke Weaver",
"team": "NYM",
"role": "pitcher",
"espn_rank": 56,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 56,
"gp_value": 35.0,
"gp_rank": 73,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 1.9459,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 11.0,
"hld_rank": 27,
"ip_value": 37.0,
"ip_rank": 241,
"h_value": 20.0,
"h_rank": 394,
"er_value": 8.0,
"er_rank": 451,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 9.0,
"bb_rank": 394,
"k_value": 41.0,
"k_rank": 205,
"k_per_9_value": 9.972973,
"k_per_9_rank": 22.0,
"whip_value": 0.7837,
"whip_rank": null,
"war_value": 1.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9869,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9869,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0138,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 0,
"H": 1,
"BB": 1,
"SO": 14,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.2,
"K9": 12.6,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "596133",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.338,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5947,
"prior_weight": 0.4053
},
"role": "pitcher",
"player_id": "596133",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 65.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 14.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 128.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.1,
"BB": 0.1,
"SO": 1.4,
"HR": 0.0,
"BF": 3.3,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.1,
"BB_per_IP": 0.1,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"season": {
"games": 35,
"totals": {
"IP": 37.0,
"ER": 8.0,
"R": 8.0,
"H": 20.0,
"BB": 9.0,
"SO": 41.0,
"HR": 2.0,
"BF": 141.0,
"Pitches": 540.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2286,
"R": 0.2286,
"H": 0.5714,
"BB": 0.2571,
"SO": 1.1714,
"HR": 0.0571,
"BF": 4.0286,
"Pitches": 15.4286
},
"rates": {
"ERA": 1.9459,
"WHIP": 0.7838,
"ER_per_IP": 0.21622,
"H_per_IP": 0.54054,
"BB_per_IP": 0.24324,
"SO_per_IP": 1.10811,
"HR_per_IP": 0.05405
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.23,
"predicted_H": 0.478,
"predicted_BB": 0.248,
"predicted_SO": 1.238,
"predicted_HR": 0.067,
"predicted_ERA": 2.0701,
"predicted_WHIP": 0.7262
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5212,
"form_weight": 0.4788,
"form_reliability": 0.5947,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.338,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5947,
"prior_weight": 0.4053
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.23,
"final": 0.1101,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.478,
"final": 0.2288,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.248,
"final": 0.64,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.238,
"final": 1.6352,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0321,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0701,
"final": 2.0701,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.7262,
"final": 0.7262,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Devin Williams |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3432 |
| ESPN Rank | 645 |
| 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.7241 |
| Season WHIP | 1.4138 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"opponent": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"edges": {
"quality_edge": -0.4131,
"offense_edge": -0.1438,
"opponent_offense_edge": 0.0494,
"defense_strength": 0.0019,
"opponent_defense_weakness": -0.2305,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9816,
"run_prevention": 1.0284,
"strikeout": 0.9837
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642207",
"profile": {
"available": true,
"pitcher_id": "642207",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 32.6,
"bb_percent": 12.1,
"woba": 0.322,
"xwoba": 0.273,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 26.0,
"avg_best_speed": 78.1314,
"avg_hyper_speed": 92.6325,
"whiff_percent": 37.0,
"swing_percent": 50.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.6209,
"command_and_miss": 1.0579,
"regression_edge": 1.4,
"xwoba_edge": 1.1429,
"barrel_edge": 0.4,
"hard_hit_edge": 1.7714,
"whiff_edge": 1.6429,
"bb_edge": -0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642207",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3432,
"sample_weight": 0.45,
"run_prevention_factor": 0.9708,
"strikeout_factor": 1.0553,
"walk_factor": 1.0288,
"homer_factor": 0.9383,
"woba_minus_xwoba": 0.049,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642207",
"espn_id": 33224,
"player_name": "Devin Williams",
"team": "NYM",
"role": "pitcher",
"espn_rank": 645,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 645,
"gp_value": 32.0,
"gp_rank": 106,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 4.3448,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 13.0,
"sv_rank": 13,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 29.0,
"ip_rank": 337,
"h_value": 29.0,
"h_rank": 284,
"er_value": 14.0,
"er_rank": 288,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 16.0,
"bb_rank": 224,
"k_value": 43.0,
"k_rank": 188,
"k_per_9_value": 13.344827,
"k_per_9_rank": 15.0,
"whip_value": 1.5517,
"whip_rank": null,
"war_value": -0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9869,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9869,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.013,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9722,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0249,
"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": 11,
"BB": 3,
"SO": 14,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.4,
"K9": 12.6,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "642207",
"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.751,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5349,
"prior_weight": 0.4651
},
"role": "pitcher",
"player_id": "642207",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 4.0,
"H": 7.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.8,
"H": 1.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 17.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.7143,
"ER_per_IP": 0.21429,
"H_per_IP": 1.5,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 6.0,
"H": 11.0,
"BB": 3.0,
"SO": 14.0,
"HR": 0.0,
"BF": 46.0,
"Pitches": 200.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.6,
"H": 1.1,
"BB": 0.3,
"SO": 1.4,
"HR": 0.0,
"BF": 4.6,
"Pitches": 20.0
},
"rates": {
"ERA": 1.8,
"WHIP": 1.4,
"ER_per_IP": 0.2,
"H_per_IP": 1.1,
"BB_per_IP": 0.3,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 29.0,
"ER": 12.0,
"R": 16.0,
"H": 28.0,
"BB": 13.0,
"SO": 43.0,
"HR": 2.0,
"BF": 127.0,
"Pitches": 521.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3871,
"R": 0.5161,
"H": 0.9032,
"BB": 0.4194,
"SO": 1.3871,
"HR": 0.0645,
"BF": 4.0968,
"Pitches": 16.8065
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.4138,
"ER_per_IP": 0.41379,
"H_per_IP": 0.96552,
"BB_per_IP": 0.44828,
"SO_per_IP": 1.48276,
"HR_per_IP": 0.06897
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.254,
"predicted_H": 0.774,
"predicted_BB": 0.222,
"predicted_SO": 0.774,
"predicted_HR": 0.053,
"predicted_ERA": 3.3096,
"predicted_WHIP": 1.4432
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5465,
"form_weight": 0.4535,
"form_reliability": 0.5349,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.751,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5349,
"prior_weight": 0.4651
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.254,
"final": 0.1152,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.774,
"final": 0.351,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.222,
"final": 0.1007,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.774,
"final": 0.8975,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.053,
"final": 0.024,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3096,
"final": 3.3096,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4432,
"final": 1.4432,
"source": "form_only"
}
}
}{
"available": false,
"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.157 | 0.000 | 0.000 | Hitting_2B | 0.134 | 1.000 | -0.134 | -1.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.420 | 5.000 | 4.000 | Hitting_AB | 4.123 | 5.000 | 0.877 | 0.000 |
| predicted_AVG | 0.253 | 0.400 | 0.250 | Hitting_AVG | 0.238 | 0.600 | 0.162 | -0.200 |
| predicted_BB | 0.258 | 0.000 | 0.000 | Hitting_BB | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.120 | 2.000 | 1.000 | Hitting_H | 0.982 | 3.000 | 1.018 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.325 | 0.400 | 0.250 | Hitting_OBP | 0.284 | 0.600 | 0.116 | -0.200 |
| predicted_R | 0.517 | 1.000 | 0.000 | Hitting_R | 0.482 | 1.000 | 0.518 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 0.000 | Hitting_RBI | 0.558 | 3.000 | -0.558 | -3.000 |
| predicted_SLG | 0.397 | 0.400 | 0.250 | Hitting_SLG | 0.349 | 0.800 | 0.051 | -0.400 |
| predicted_SO | 0.798 | 0.000 | 1.000 | Hitting_SO | 0.790 | 0.000 | -0.790 | 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: 1.1200 -> 2.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_SO: 0.7980 -> 0.0000 (deboost -0.7980, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2530 -> 0.2659 (boost 0.0129, better) | predicted_AB: 4.4200 -> 4.2072 (deboost -0.2128, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 1.1161 -> 1.0577 (deboost -0.0584, 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.7897 -> 1.0000 (boost 0.2103, worse) | predicted_RBI: 0.5380 -> 0.0000 (deboost -0.5380, worse) | AB rounded to 4 (raw=4.42), rates preserved: AVG=0.239 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4532 -> 0.0000 (deboost -0.4532, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3538 -> 0.2500 (deboost -0.1038, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3538 (boost 0.1038, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "3B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.011,
"predicted_AB": 4.42,
"predicted_AVG": 0.253,
"predicted_BB": 0.258,
"predicted_H": 1.12,
"predicted_HR": 0.1,
"predicted_OBP": 0.325,
"predicted_R": 0.517,
"predicted_RBI": 0.59,
"predicted_SLG": 0.397,
"predicted_SO": 0.798
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1652,
"predicted_3B": 0.0093,
"predicted_AB": 4.2072,
"predicted_AVG": 0.2659,
"predicted_BB": 0.2734,
"predicted_H": 1.1161,
"predicted_HBP": 0.034,
"predicted_HR": 0.0876,
"predicted_OBP": 0.3289,
"predicted_R": 0.4973,
"predicted_RBI": 0.5904,
"predicted_SLG": 0.3922,
"predicted_SO": 0.7757
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1652,
"delta": 0.0082,
"percent_delta": 0.0522,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.2072,
"delta": -0.2128,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2659,
"delta": 0.0129,
"percent_delta": 0.051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.2734,
"delta": 0.0154,
"percent_delta": 0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1161,
"delta": -0.0039,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0876,
"delta": -0.0124,
"percent_delta": -0.124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3289,
"delta": 0.0039,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 0.4973,
"delta": -0.0197,
"percent_delta": -0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5904,
"delta": 0.0004,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.3922,
"delta": -0.0048,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 0.7757,
"delta": -0.0223,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2659,
"delta": 0.0129,
"percent_delta": 0.051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 4.2072,
"delta": -0.2128,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1652,
"predicted_3B": 0.0093,
"predicted_AB": 4.2072,
"predicted_AVG": 0.2514,
"predicted_BB": 0.2685,
"predicted_H": 1.0577,
"predicted_HBP": 0.034,
"predicted_HR": 0.0823,
"predicted_OBP": 0.2963,
"predicted_R": 0.4532,
"predicted_RBI": 0.538,
"predicted_SLG": 0.3538,
"predicted_SO": 0.7897
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1652,
"after": 0.1652,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2072,
"after": 4.2072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2659,
"after": 0.2514,
"delta": -0.0145,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2734,
"after": 0.2685,
"delta": -0.0049,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1161,
"after": 1.0577,
"delta": -0.0584,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0876,
"after": 0.0823,
"delta": -0.0053,
"percent_delta": -0.0605,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3289,
"after": 0.2963,
"delta": -0.0326,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4973,
"after": 0.4532,
"delta": -0.0441,
"percent_delta": -0.0887,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5904,
"after": 0.538,
"delta": -0.0524,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3922,
"after": 0.3538,
"delta": -0.0384,
"percent_delta": -0.0979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7757,
"after": 0.7897,
"delta": 0.014,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.1161,
"after": 1.0577,
"delta": -0.0584,
"percent_delta": -0.0523,
"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.239 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1652,
"after": 0.0,
"delta": -0.1652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2072,
"after": 4.0,
"delta": -0.2072,
"percent_delta": -0.0492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2685,
"after": 0.0,
"delta": -0.2685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0577,
"after": 1.0,
"delta": -0.0577,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0823,
"after": 0.0,
"delta": -0.0823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7897,
"after": 1.0,
"delta": 0.2103,
"percent_delta": 0.2663,
"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.7897,
"after": 1.0,
"delta": 0.2103,
"percent_delta": 0.2663,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4532,
"after": 0.0,
"delta": -0.4532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4532,
"after": 0.0,
"delta": -0.4532,
"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.2514,
"after": 0.25,
"delta": -0.0014,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2963,
"after": 0.25,
"delta": -0.0463,
"percent_delta": -0.1563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3538,
"after": 0.25,
"delta": -0.1038,
"percent_delta": -0.2934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.3538,
"after": 0.25,
"delta": -0.1038,
"percent_delta": -0.2934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 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.2514,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2963,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3538,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2514,
"delta": 0.0014,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2963,
"delta": 0.0463,
"percent_delta": 0.1852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3538,
"delta": 0.1038,
"percent_delta": 0.415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.3538,
"delta": 0.1038,
"percent_delta": 0.415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 5.0,
"delta": 0.58,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2514,
"delta": -0.0016,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.0,
"delta": -0.258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"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.325,
"after": 0.2963,
"delta": -0.0287,
"percent_delta": -0.0883,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"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.397,
"after": 0.3538,
"delta": -0.0432,
"percent_delta": -0.1088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.798,
"after": 0.0,
"delta": -0.798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.798,
"after": 0.0,
"delta": -0.798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 4.420 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.258 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.517 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.397 | - |
| predicted_SO | 0.798 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | 0.008 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 4.207 | -0.213 |
| predicted_AVG | 0.266 | 0.013 |
| predicted_BB | 0.273 | 0.015 |
| predicted_H | 1.116 | -0.004 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.088 | -0.012 |
| predicted_OBP | 0.329 | 0.004 |
| predicted_R | 0.497 | -0.020 |
| predicted_RBI | 0.590 | 0.000 |
| predicted_SLG | 0.392 | -0.005 |
| predicted_SO | 0.776 | -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.165 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.207 | 0.000 |
| predicted_AVG | 0.251 | -0.015 |
| predicted_BB | 0.269 | -0.005 |
| predicted_H | 1.058 | -0.058 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.082 | -0.005 |
| predicted_OBP | 0.296 | -0.033 |
| predicted_R | 0.453 | -0.044 |
| predicted_RBI | 0.538 | -0.052 |
| predicted_SLG | 0.354 | -0.038 |
| predicted_SO | 0.790 | 0.014 |
AB rounded to 4 (raw=4.42), rates preserved: AVG=0.239 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.009 |
| predicted_AB | 4.000 | -0.207 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.269 |
| predicted_H | 1.000 | -0.058 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.250 | -0.046 |
| predicted_R | 0.000 | -0.453 |
| predicted_RBI | 0.000 | -0.538 |
| predicted_SLG | 0.250 | -0.104 |
| 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 | 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 | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 7.000 | 1.000 | 0.000 | 0.000 | 4.000 | 2.000 | 2.000 | 2.000 | 0.3684 | 0.4286 | 0.4211 | 0.3684 | 0.0000 | 0.2105 | 0.1053 | 0.1053 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 0.000 | 0.000 | 5.000 | 4.000 | 3.000 | 9.000 | 0.2895 | 0.3488 | 0.3421 | 0.2895 | 0.0000 | 0.1316 | 0.0790 | 0.2368 |
| season | 0.60 | 89 | - | 358.000 | 92.000 | 14.000 | 1.000 | 10.000 | 50.000 | 46.000 | 23.000 | 71.000 | 0.2570 | 0.3015 | 0.3855 | 0.2570 | 0.0279 | 0.1397 | 0.0643 | 0.1983 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.9240 |
| predicted_AVG | 0.2831 |
| predicted_BB | 0.2940 |
| predicted_H | 1.1110 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.0710 |
| predicted_OBP | 0.3342 |
| predicted_R | 0.4710 |
| predicted_RBI | 0.5910 |
| predicted_SLG | 0.3858 |
| predicted_SO | 0.7460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1760 | 0.1652 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 4.4200 | 3.9240 | 4.2072 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2831 | 0.2659 | model_form_blend |
| predicted_BB | 0.2580 | 0.2940 | 0.2734 | model_form_blend |
| predicted_H | 1.1200 | 1.1110 | 1.1161 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.1000 | 0.0710 | 0.0876 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3342 | 0.3289 | model_form_blend |
| predicted_R | 0.5170 | 0.4710 | 0.4973 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5910 | 0.5904 | model_form_blend |
| predicted_SLG | 0.3970 | 0.3858 | 0.3922 | model_form_blend |
| predicted_SO | 0.7980 | 0.7460 | 0.7757 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 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 | 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 | 3 |
| 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 | 3B |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 666182 |
| playerID | 666182 |
| playerName | Bo Bichette |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.302 |
| sl_xwoba | 0.332 |
| sl_xba | 0.285 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 8.3 |
| sl_whiff_percent | 19.6 |
| 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.114 | 0.000 | 0.000 | Hitting_2B | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.990 | 3.000 | 4.000 | Hitting_AB | 3.730 | 4.000 | -0.730 | -1.000 |
| predicted_AVG | 0.265 | 0.333 | 0.250 | Hitting_AVG | 0.302 | 0.500 | 0.031 | -0.167 |
| predicted_BB | 0.657 | 1.000 | 1.000 | Hitting_BB | 0.658 | 1.000 | 0.342 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 1.060 | 1.000 | 1.000 | Hitting_H | 1.128 | 2.000 | -0.128 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_OBP | 0.381 | 0.600 | 0.400 | Hitting_OBP | 0.405 | 0.600 | 0.195 | 0.000 |
| predicted_R | 0.571 | 1.000 | 0.000 | Hitting_R | 0.592 | 1.000 | 0.408 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.622 | 2.000 | -0.622 | -2.000 |
| predicted_SLG | 0.489 | 0.333 | 0.250 | Hitting_SLG | 0.555 | 0.500 | -0.222 | -0.167 |
| predicted_SO | 0.529 | 1.000 | 1.000 | Hitting_SO | 0.638 | 0.000 | 0.362 | 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.5290 -> 1.0000 (boost 0.4710, worse) |
| Biggest Deboost | predicted_AB: 3.9900 -> 3.0000 (deboost -0.9900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_OBP: 0.3810 -> 0.3942 (boost 0.0132, better) | predicted_AB: 3.9900 -> 3.8063 (deboost -0.1837, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_H: 1.0528 -> 0.9977 (deboost -0.0551, 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: 0.5450 -> 1.0000 (boost 0.4550, worse) | predicted_HR: 0.1901 -> 0.0000 (deboost -0.1901, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.250 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4937 -> 0.0000 (deboost -0.4937, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3737 -> 0.4000 (boost 0.0263, better) | predicted_SLG: 0.4569 -> 0.2500 (deboost -0.2069, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 2 | 2 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4569 (boost 0.2069, better) | predicted_OBP: 0.4000 -> 0.3737 (deboost -0.0263, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665742",
"player_name": "Juan Soto",
"position": "LF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.114,
"predicted_3B": 0.029,
"predicted_AB": 3.99,
"predicted_AVG": 0.265,
"predicted_BB": 0.657,
"predicted_H": 1.06,
"predicted_HR": 0.2,
"predicted_OBP": 0.381,
"predicted_R": 0.571,
"predicted_RBI": 0.62,
"predicted_SLG": 0.489,
"predicted_SO": 0.529
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1068,
"predicted_3B": 0.032,
"predicted_AB": 3.8063,
"predicted_AVG": 0.277,
"predicted_BB": 0.6909,
"predicted_H": 1.0528,
"predicted_HBP": 0.003,
"predicted_HR": 0.2025,
"predicted_OBP": 0.3942,
"predicted_R": 0.5418,
"predicted_RBI": 0.6179,
"predicted_SLG": 0.4999,
"predicted_SO": 0.5353
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.1068,
"delta": -0.0072,
"percent_delta": -0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.032,
"delta": 0.003,
"percent_delta": 0.1034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.8063,
"delta": -0.1837,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.277,
"delta": 0.012,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.657,
"after": 0.6909,
"delta": 0.0339,
"percent_delta": 0.0516,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0528,
"delta": -0.0072,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2025,
"delta": 0.0025,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3942,
"delta": 0.0132,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.5418,
"delta": -0.0292,
"percent_delta": -0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6179,
"delta": -0.0021,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.4999,
"delta": 0.0109,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 0.5353,
"delta": 0.0063,
"percent_delta": 0.0119,
"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_OBP",
"before": 0.381,
"after": 0.3942,
"delta": 0.0132,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.8063,
"delta": -0.1837,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1068,
"predicted_3B": 0.032,
"predicted_AB": 3.8063,
"predicted_AVG": 0.2621,
"predicted_BB": 0.6784,
"predicted_H": 0.9977,
"predicted_HBP": 0.003,
"predicted_HR": 0.1901,
"predicted_OBP": 0.3737,
"predicted_R": 0.4937,
"predicted_RBI": 0.5631,
"predicted_SLG": 0.4569,
"predicted_SO": 0.545
},
"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.032,
"after": 0.032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8063,
"after": 3.8063,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2621,
"delta": -0.0149,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6909,
"after": 0.6784,
"delta": -0.0125,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0528,
"after": 0.9977,
"delta": -0.0551,
"percent_delta": -0.0523,
"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.2025,
"after": 0.1901,
"delta": -0.0124,
"percent_delta": -0.0612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3942,
"after": 0.3737,
"delta": -0.0205,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5418,
"after": 0.4937,
"delta": -0.0481,
"percent_delta": -0.0888,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6179,
"after": 0.5631,
"delta": -0.0548,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4999,
"after": 0.4569,
"delta": -0.043,
"percent_delta": -0.086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5353,
"after": 0.545,
"delta": 0.0097,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0528,
"after": 0.9977,
"delta": -0.0551,
"percent_delta": -0.0523,
"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.250 HR/AB=0.048",
"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.1068,
"after": 0.0,
"delta": -0.1068,
"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.8063,
"after": 4.0,
"delta": 0.1937,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6784,
"after": 1.0,
"delta": 0.3216,
"percent_delta": 0.4741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9977,
"after": 1.0,
"delta": 0.0023,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1901,
"after": 0.0,
"delta": -0.1901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5631,
"after": 1.0,
"delta": 0.4369,
"percent_delta": 0.7759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 1.0,
"delta": 0.455,
"percent_delta": 0.8349,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.545,
"after": 1.0,
"delta": 0.455,
"percent_delta": 0.8349,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1901,
"after": 0.0,
"delta": -0.1901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4937,
"after": 0.0,
"delta": -0.4937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4937,
"after": 0.0,
"delta": -0.4937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 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.2621,
"after": 0.25,
"delta": -0.0121,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3737,
"after": 0.4,
"delta": 0.0263,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4569,
"after": 0.25,
"delta": -0.2069,
"percent_delta": -0.4528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3737,
"after": 0.4,
"delta": 0.0263,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4569,
"after": 0.25,
"delta": -0.2069,
"percent_delta": -0.4528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2621,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3737,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4569,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2621,
"delta": 0.0121,
"percent_delta": 0.0485,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3737,
"delta": -0.0263,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4569,
"delta": 0.2069,
"percent_delta": 0.8275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4569,
"delta": 0.2069,
"percent_delta": 0.8275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3737,
"delta": -0.0263,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2621,
"delta": -0.0029,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.657,
"after": 1.0,
"delta": 0.343,
"percent_delta": 0.5221,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3737,
"delta": -0.0073,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 1.0,
"delta": 0.429,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.4569,
"delta": -0.0321,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.657 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.381 | - |
| predicted_R | 0.571 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.489 | - |
| predicted_SO | 0.529 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | -0.007 |
| predicted_3B | 0.032 | 0.003 |
| predicted_AB | 3.806 | -0.184 |
| predicted_AVG | 0.277 | 0.012 |
| predicted_BB | 0.691 | 0.034 |
| predicted_H | 1.053 | -0.007 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.203 | 0.003 |
| predicted_OBP | 0.394 | 0.013 |
| predicted_R | 0.542 | -0.029 |
| predicted_RBI | 0.618 | -0.002 |
| predicted_SLG | 0.500 | 0.011 |
| predicted_SO | 0.535 | 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.107 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.806 | 0.000 |
| predicted_AVG | 0.262 | -0.015 |
| predicted_BB | 0.678 | -0.012 |
| predicted_H | 0.998 | -0.055 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.190 | -0.012 |
| predicted_OBP | 0.374 | -0.021 |
| predicted_R | 0.494 | -0.048 |
| predicted_RBI | 0.563 | -0.055 |
| predicted_SLG | 0.457 | -0.043 |
| predicted_SO | 0.545 | 0.010 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.250 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.107 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | 0.194 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 1.000 | 0.322 |
| predicted_H | 1.000 | 0.002 |
| predicted_HR | 0.000 | -0.190 |
| predicted_OBP | 0.400 | 0.026 |
| predicted_R | 0.000 | -0.494 |
| predicted_RBI | 1.000 | 0.437 |
| predicted_SLG | 0.250 | -0.207 |
| predicted_SO | 1.000 | 0.455 |
Attached 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 | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 4.000 | 3.000 | 0.2778 | 0.4091 | 0.4444 | 0.2778 | 0.0556 | 0.2222 | 0.2222 | 0.1667 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 1.000 | 1.000 | 1.000 | 5.000 | 4.000 | 11.000 | 4.000 | 0.3030 | 0.4773 | 0.4848 | 0.3030 | 0.0303 | 0.1515 | 0.3333 | 0.1212 |
| season | 0.60 | 70 | - | 251.000 | 76.000 | 8.000 | 2.000 | 18.000 | 43.000 | 40.000 | 46.000 | 37.000 | 0.3028 | 0.4094 | 0.5657 | 0.3028 | 0.0717 | 0.1713 | 0.1833 | 0.1474 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0970 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.5560 |
| predicted_AVG | 0.2933 |
| predicted_BB | 0.7370 |
| predicted_H | 1.0430 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.2060 |
| predicted_OBP | 0.4122 |
| predicted_R | 0.5020 |
| predicted_RBI | 0.6150 |
| predicted_SLG | 0.5147 |
| predicted_SO | 0.5440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.0970 | 0.1068 | model_form_blend |
| predicted_3B | 0.0290 | 0.0360 | 0.0320 | model_form_blend |
| predicted_AB | 3.9900 | 3.5560 | 3.8063 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2933 | 0.2770 | model_form_blend |
| predicted_BB | 0.6570 | 0.7370 | 0.6909 | model_form_blend |
| predicted_H | 1.0600 | 1.0430 | 1.0528 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.2000 | 0.2060 | 0.2025 | model_form_blend |
| predicted_OBP | 0.3810 | 0.4122 | 0.3942 | model_form_blend |
| predicted_R | 0.5710 | 0.5020 | 0.5418 | model_form_blend |
| predicted_RBI | 0.6200 | 0.6150 | 0.6179 | model_form_blend |
| predicted_SLG | 0.4890 | 0.5147 | 0.4999 | model_form_blend |
| predicted_SO | 0.5290 | 0.5440 | 0.5353 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.303 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 665742 |
| playerID | 665742 |
| playerName | Juan Soto |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 15.5 |
| sl_woba | 0.409 |
| sl_xwoba | 0.426 |
| sl_xba | 0.309 |
| sl_xslg | 0.599 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 14.4 |
| sl_hard_hit_percent | 49.3 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 19.8 |
| sl_swing_percent | 39.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.140 | 0.000 | 0.000 | Hitting_2B | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 3.800 | 5.000 | 4.000 | Hitting_AB | 3.394 | 4.000 | 1.606 | 1.000 |
| predicted_AVG | 0.248 | 0.000 | 0.250 | Hitting_AVG | 0.266 | 0.500 | -0.266 | -0.500 |
| predicted_BB | 0.400 | 0.000 | 0.000 | Hitting_BB | 0.532 | 0.000 | -0.532 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_H | 0.940 | 0.000 | 1.000 | Hitting_H | 0.904 | 2.000 | -0.904 | -2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.085 | 1.000 | -0.085 | -1.000 |
| predicted_OBP | 0.311 | 0.000 | 0.250 | Hitting_OBP | 0.367 | 0.500 | -0.367 | -0.500 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.457 | 1.000 | -0.457 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.383 | 1.000 | -0.383 | -1.000 |
| predicted_SLG | 0.408 | 0.000 | 0.250 | Hitting_SLG | 0.395 | 1.250 | -0.395 | -1.250 |
| predicted_SO | 0.940 | 0.000 | 1.000 | Hitting_SO | 1.096 | 2.000 | -1.096 | -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.8000 -> 5.0000 (boost 1.2000, better) |
| 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 3.8000 -> 3.6275 (deboost -0.1725, worse) | Final model input calibrated with local form: 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.4088 -> 0.3871 (deboost -0.0217, 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.6275 -> 4.0000 (boost 0.3725, better) | predicted_RBI: 0.3846 -> 0.0000 (deboost -0.3846, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.225 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3891 -> 0.0000 (deboost -0.3891, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2355 -> 0.2500 (boost 0.0145, better) | predicted_SLG: 0.3871 -> 0.2500 (deboost -0.1371, 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: 4.0000 -> 5.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.3871 (boost 0.1371, better) | predicted_AVG: 0.2500 -> 0.2355 (deboost -0.0145, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805999",
"player_name": "A.J. Ewing",
"position": "CF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.02,
"predicted_AB": 3.8,
"predicted_AVG": 0.248,
"predicted_BB": 0.4,
"predicted_H": 0.94,
"predicted_HR": 0.14,
"predicted_OBP": 0.311,
"predicted_R": 0.4,
"predicted_RBI": 0.44,
"predicted_SLG": 0.408,
"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.122,
"predicted_3B": 0.0167,
"predicted_AB": 3.6275,
"predicted_AVG": 0.2489,
"predicted_BB": 0.3582,
"predicted_H": 0.9015,
"predicted_HBP": 0.033,
"predicted_HR": 0.14,
"predicted_OBP": 0.3121,
"predicted_R": 0.427,
"predicted_RBI": 0.422,
"predicted_SLG": 0.4088,
"predicted_SO": 0.9154
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.122,
"delta": -0.018,
"percent_delta": -0.1286,
"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": 3.8,
"after": 3.6275,
"delta": -0.1725,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2489,
"delta": 0.0009,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.3582,
"delta": -0.0418,
"percent_delta": -0.1045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9015,
"delta": -0.0385,
"percent_delta": -0.041,
"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.311,
"after": 0.3121,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.427,
"delta": 0.027,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.422,
"delta": -0.018,
"percent_delta": -0.0409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4088,
"delta": 0.0008,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.94,
"after": 0.9154,
"delta": -0.0246,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 3.6275,
"delta": -0.1725,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.122,
"predicted_3B": 0.0167,
"predicted_AB": 3.6275,
"predicted_AVG": 0.2355,
"predicted_BB": 0.3517,
"predicted_H": 0.8544,
"predicted_HBP": 0.033,
"predicted_HR": 0.1315,
"predicted_OBP": 0.3031,
"predicted_R": 0.3891,
"predicted_RBI": 0.3846,
"predicted_SLG": 0.3871,
"predicted_SO": 0.932
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0167,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6275,
"after": 3.6275,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2489,
"after": 0.2355,
"delta": -0.0134,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3582,
"after": 0.3517,
"delta": -0.0065,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9015,
"after": 0.8544,
"delta": -0.0471,
"percent_delta": -0.0522,
"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.14,
"after": 0.1315,
"delta": -0.0085,
"percent_delta": -0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3121,
"after": 0.3031,
"delta": -0.009,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.3891,
"delta": -0.0379,
"percent_delta": -0.0888,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.422,
"after": 0.3846,
"delta": -0.0374,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4088,
"after": 0.3871,
"delta": -0.0217,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9154,
"after": 0.932,
"delta": 0.0166,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4088,
"after": 0.3871,
"delta": -0.0217,
"percent_delta": -0.0531,
"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.225 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.122,
"after": 0.0,
"delta": -0.122,
"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": 3.6275,
"after": 4.0,
"delta": 0.3725,
"percent_delta": 0.1027,
"direction": "boost",
"projection_effect": "better",
"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.8544,
"after": 1.0,
"delta": 0.1456,
"percent_delta": 0.1704,
"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.1315,
"after": 0.0,
"delta": -0.1315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3846,
"after": 0.0,
"delta": -0.3846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.932,
"after": 1.0,
"delta": 0.068,
"percent_delta": 0.073,
"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.6275,
"after": 4.0,
"delta": 0.3725,
"percent_delta": 0.1027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3846,
"after": 0.0,
"delta": -0.3846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3891,
"after": 0.0,
"delta": -0.3891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3891,
"after": 0.0,
"delta": -0.3891,
"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.2355,
"after": 0.25,
"delta": 0.0145,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3031,
"after": 0.25,
"delta": -0.0531,
"percent_delta": -0.1752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3871,
"after": 0.25,
"delta": -0.1371,
"percent_delta": -0.3542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2355,
"after": 0.25,
"delta": 0.0145,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3871,
"after": 0.25,
"delta": -0.1371,
"percent_delta": -0.3542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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.2355,
"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.3031,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3871,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2355,
"delta": -0.0145,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3031,
"delta": 0.0531,
"percent_delta": 0.2124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3871,
"delta": 0.1371,
"percent_delta": 0.5483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3871,
"delta": 0.1371,
"percent_delta": 0.5483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2355,
"delta": -0.0145,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 5.0,
"delta": 1.2,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2355,
"delta": -0.0125,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"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.311,
"after": 0.3031,
"delta": -0.0079,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3871,
"delta": -0.0209,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"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.8,
"after": 5.0,
"delta": 1.2,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "better",
"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.140 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.408 | - |
| 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.122 | -0.018 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.627 | -0.172 |
| predicted_AVG | 0.249 | 0.001 |
| predicted_BB | 0.358 | -0.042 |
| predicted_H | 0.901 | -0.038 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.140 | 0.000 |
| predicted_OBP | 0.312 | 0.001 |
| predicted_R | 0.427 | 0.027 |
| predicted_RBI | 0.422 | -0.018 |
| predicted_SLG | 0.409 | 0.001 |
| predicted_SO | 0.915 | -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.122 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.627 | 0.000 |
| predicted_AVG | 0.235 | -0.013 |
| predicted_BB | 0.352 | -0.007 |
| predicted_H | 0.854 | -0.047 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.132 | -0.009 |
| predicted_OBP | 0.303 | -0.009 |
| predicted_R | 0.389 | -0.038 |
| predicted_RBI | 0.385 | -0.037 |
| predicted_SLG | 0.387 | -0.022 |
| predicted_SO | 0.932 | 0.017 |
AB rounded to 4 (raw=3.80), rates preserved: AVG=0.225 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.122 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.373 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.000 | -0.352 |
| predicted_H | 1.000 | 0.146 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.250 | -0.053 |
| predicted_R | 0.000 | -0.389 |
| predicted_RBI | 0.000 | -0.385 |
| predicted_SLG | 0.250 | -0.137 |
| predicted_SO | 1.000 | 0.068 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.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 | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 0.000 | 5.000 | 0.1765 | 0.1765 | 0.3529 | 0.1765 | 0.0588 | 0.0588 | 0.0000 | 0.2941 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 0.000 | 0.000 | 2.000 | 5.000 | 5.000 | 3.000 | 6.000 | 0.2812 | 0.3611 | 0.4688 | 0.2812 | 0.0625 | 0.1562 | 0.0938 | 0.1875 |
| season | 0.60 | 50 | - | 166.000 | 44.000 | 7.000 | 1.000 | 5.000 | 20.000 | 20.000 | 20.000 | 47.000 | 0.2651 | 0.3457 | 0.4096 | 0.2651 | 0.0301 | 0.1205 | 0.1205 | 0.2831 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.3790 |
| predicted_AVG | 0.2502 |
| predicted_BB | 0.2980 |
| predicted_H | 0.8460 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.3137 |
| predicted_R | 0.4660 |
| predicted_RBI | 0.3960 |
| predicted_SLG | 0.4100 |
| predicted_SO | 0.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0960 | 0.1220 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0167 | model_form_blend |
| predicted_AB | 3.8000 | 3.3790 | 3.6275 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2502 | 0.2489 | model_form_blend |
| predicted_BB | 0.4000 | 0.2980 | 0.3582 | model_form_blend |
| predicted_H | 0.9400 | 0.8460 | 0.9015 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1400 | 0.1400 | 0.1400 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3137 | 0.3121 | model_form_blend |
| predicted_R | 0.4000 | 0.4660 | 0.4270 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3960 | 0.4220 | model_form_blend |
| predicted_SLG | 0.4080 | 0.4100 | 0.4088 | model_form_blend |
| predicted_SO | 0.9400 | 0.8800 | 0.9154 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 805999 |
| playerID | 805999 |
| playerName | A.J. Ewing |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.335 |
| sl_xwoba | 0.347 |
| sl_xba | 0.275 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 43.4 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 44.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.061 | 0.000 | 0.000 | Hitting_2B | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_3B | 0.091 | 0.000 | 0.000 | Hitting_3B | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_AB | 4.150 | 4.000 | 4.000 | Hitting_AB | 3.956 | 4.000 | 0.044 | 0.000 |
| predicted_AVG | 0.236 | 0.250 | 0.250 | Hitting_AVG | 0.213 | 0.250 | 0.037 | 0.000 |
| predicted_BB | 0.424 | 1.000 | 0.000 | Hitting_BB | 0.474 | 1.000 | 0.526 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.980 | 1.000 | 1.000 | Hitting_H | 0.842 | 1.000 | 0.158 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.316 | 0.400 | 0.250 | Hitting_OBP | 0.305 | 0.400 | 0.095 | 0.000 |
| predicted_R | 0.606 | 0.000 | 1.000 | Hitting_R | 0.614 | 3.000 | -0.614 | -3.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.202 | 1.000 | -0.202 | -1.000 |
| predicted_SLG | 0.406 | 0.250 | 0.250 | Hitting_SLG | 0.348 | 0.250 | -0.098 | 0.000 |
| predicted_SO | 0.727 | 1.000 | 1.000 | Hitting_SO | 0.807 | 0.000 | 0.193 | 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.4240 -> 1.0000 (boost 0.5760, better) |
| Biggest Deboost | predicted_R: 0.6060 -> 0.0000 (deboost -0.6060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.1500 -> 4.0452 (deboost -0.1048, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_R: 0.6176 -> 0.5628 (deboost -0.0548, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7512 -> 1.0000 (boost 0.2488, worse) | predicted_BB: 0.3959 -> 0.0000 (deboost -0.3959, worse) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.219 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.130) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5628 -> 1.0000 (boost 0.4372, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2249 -> 0.2500 (boost 0.0251, better) | predicted_SLG: 0.3844 -> 0.2500 (deboost -0.1344, 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_R: 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.3844 (boost 0.1344, better) | predicted_AVG: 0.2500 -> 0.2249 (deboost -0.0251, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "596019",
"player_name": "Francisco Lindor",
"position": "DH",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.061,
"predicted_3B": 0.091,
"predicted_AB": 4.15,
"predicted_AVG": 0.236,
"predicted_BB": 0.424,
"predicted_H": 0.98,
"predicted_HR": 0.15,
"predicted_OBP": 0.316,
"predicted_R": 0.606,
"predicted_RBI": 0.43,
"predicted_SLG": 0.406,
"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.0614,
"predicted_3B": 0.0806,
"predicted_AB": 4.0452,
"predicted_AVG": 0.2373,
"predicted_BB": 0.4032,
"predicted_H": 0.96,
"predicted_HBP": 0.085,
"predicted_HR": 0.15,
"predicted_OBP": 0.3174,
"predicted_R": 0.6176,
"predicted_RBI": 0.4184,
"predicted_SLG": 0.4051,
"predicted_SO": 0.7378
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0614,
"delta": 0.0004,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.091,
"after": 0.0806,
"delta": -0.0104,
"percent_delta": -0.1143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0452,
"delta": -0.1048,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2373,
"delta": 0.0013,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 0.4032,
"delta": -0.0208,
"percent_delta": -0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.96,
"delta": -0.02,
"percent_delta": -0.0204,
"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.316,
"after": 0.3174,
"delta": 0.0014,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.606,
"after": 0.6176,
"delta": 0.0116,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4184,
"delta": -0.0116,
"percent_delta": -0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4051,
"delta": -0.0009,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.727,
"after": 0.7378,
"delta": 0.0108,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0452,
"delta": -0.1048,
"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": 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.0614,
"predicted_3B": 0.0806,
"predicted_AB": 4.0452,
"predicted_AVG": 0.2249,
"predicted_BB": 0.3959,
"predicted_H": 0.9098,
"predicted_HBP": 0.085,
"predicted_HR": 0.1408,
"predicted_OBP": 0.294,
"predicted_R": 0.5628,
"predicted_RBI": 0.3813,
"predicted_SLG": 0.3844,
"predicted_SO": 0.7512
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0614,
"after": 0.0614,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0806,
"after": 0.0806,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0452,
"after": 4.0452,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2373,
"after": 0.2249,
"delta": -0.0124,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4032,
"after": 0.3959,
"delta": -0.0073,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9098,
"delta": -0.0502,
"percent_delta": -0.0523,
"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.15,
"after": 0.1408,
"delta": -0.0092,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3174,
"after": 0.294,
"delta": -0.0234,
"percent_delta": -0.0737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6176,
"after": 0.5628,
"delta": -0.0548,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4184,
"after": 0.3813,
"delta": -0.0371,
"percent_delta": -0.0887,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4051,
"after": 0.3844,
"delta": -0.0207,
"percent_delta": -0.0511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7378,
"after": 0.7512,
"delta": 0.0134,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.6176,
"after": 0.5628,
"delta": -0.0548,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.15), rates preserved: AVG=0.219 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0614,
"after": 0.0,
"delta": -0.0614,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0806,
"after": 0.0,
"delta": -0.0806,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0452,
"after": 4.0,
"delta": -0.0452,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3959,
"after": 0.0,
"delta": -0.3959,
"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.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1408,
"after": 0.0,
"delta": -0.1408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3813,
"after": 0.0,
"delta": -0.3813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7512,
"after": 1.0,
"delta": 0.2488,
"percent_delta": 0.3312,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7512,
"after": 1.0,
"delta": 0.2488,
"percent_delta": 0.3312,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3959,
"after": 0.0,
"delta": -0.3959,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.130)",
"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.8264,
"bvp": 0.1736
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.5628,
"after": 1.0,
"delta": 0.4372,
"percent_delta": 0.7768,
"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.5628,
"after": 1.0,
"delta": 0.4372,
"percent_delta": 0.7768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2249,
"after": 0.25,
"delta": 0.0251,
"percent_delta": 0.1116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.25,
"delta": -0.044,
"percent_delta": -0.1497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3844,
"after": 0.25,
"delta": -0.1344,
"percent_delta": -0.3496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2249,
"after": 0.25,
"delta": 0.0251,
"percent_delta": 0.1116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3844,
"after": 0.25,
"delta": -0.1344,
"percent_delta": -0.3496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2249,
"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.294,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3844,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2249,
"delta": -0.0251,
"percent_delta": -0.1004,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.294,
"delta": 0.044,
"percent_delta": 0.176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3844,
"delta": 0.1344,
"percent_delta": 0.5376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3844,
"delta": 0.1344,
"percent_delta": 0.5376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2249,
"delta": -0.0251,
"percent_delta": -0.1004,
"direction": "deboost",
"projection_effect": "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.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0,
"delta": -0.15,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2249,
"delta": -0.0111,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 1.0,
"delta": 0.576,
"percent_delta": 1.3585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0,
"delta": 0.02,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.294,
"delta": -0.022,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.606,
"after": 0.0,
"delta": -0.606,
"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.406,
"after": 0.3844,
"delta": -0.0216,
"percent_delta": -0.0532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.727,
"after": 1.0,
"delta": 0.273,
"percent_delta": 0.3755,
"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.424,
"after": 1.0,
"delta": 0.576,
"percent_delta": 1.3585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.606,
"after": 0.0,
"delta": -0.606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.091 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.424 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.606 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.406 | - |
| 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.061 | 0.000 |
| predicted_3B | 0.081 | -0.010 |
| predicted_AB | 4.045 | -0.105 |
| predicted_AVG | 0.237 | 0.001 |
| predicted_BB | 0.403 | -0.021 |
| predicted_H | 0.960 | -0.020 |
| predicted_HBP | 0.085 | - |
| predicted_HR | 0.150 | 0.000 |
| predicted_OBP | 0.317 | 0.001 |
| predicted_R | 0.618 | 0.012 |
| predicted_RBI | 0.418 | -0.012 |
| predicted_SLG | 0.405 | -0.001 |
| predicted_SO | 0.738 | 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.061 | 0.000 |
| predicted_3B | 0.081 | 0.000 |
| predicted_AB | 4.045 | 0.000 |
| predicted_AVG | 0.225 | -0.012 |
| predicted_BB | 0.396 | -0.007 |
| predicted_H | 0.910 | -0.050 |
| predicted_HBP | 0.085 | 0.000 |
| predicted_HR | 0.141 | -0.009 |
| predicted_OBP | 0.294 | -0.023 |
| predicted_R | 0.563 | -0.055 |
| predicted_RBI | 0.381 | -0.037 |
| predicted_SLG | 0.384 | -0.021 |
| predicted_SO | 0.751 | 0.013 |
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.219 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.130)
| 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.061 |
| predicted_3B | 0.000 | -0.081 |
| predicted_AB | 4.000 | -0.045 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 0.000 | -0.396 |
| predicted_H | 1.000 | 0.090 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.250 | -0.044 |
| predicted_R | 1.000 | 0.437 |
| predicted_RBI | 0.000 | -0.381 |
| predicted_SLG | 0.250 | -0.134 |
| predicted_SO | 1.000 | 0.249 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 5.000 | 0.2500 | 0.3478 | 0.4000 | 0.2500 | 0.0500 | 0.1000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 0.000 | 1.000 | 2.000 | 6.000 | 7.000 | 3.000 | 5.000 | 0.2632 | 0.3333 | 0.4737 | 0.2632 | 0.0526 | 0.1579 | 0.0790 | 0.1316 |
| season | 0.60 | 33 | - | 129.000 | 29.000 | 2.000 | 3.000 | 4.000 | 10.000 | 20.000 | 14.000 | 24.000 | 0.2248 | 0.3103 | 0.3798 | 0.2248 | 0.0310 | 0.0775 | 0.1085 | 0.1860 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0620 |
| predicted_3B | 0.0650 |
| predicted_AB | 3.8880 |
| predicted_AVG | 0.2393 |
| predicted_BB | 0.3720 |
| predicted_H | 0.9300 |
| predicted_HBP | 0.0850 |
| predicted_HR | 0.1500 |
| predicted_OBP | 0.3196 |
| predicted_R | 0.6350 |
| predicted_RBI | 0.4010 |
| predicted_SLG | 0.4038 |
| predicted_SO | 0.7540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0610 | 0.0620 | 0.0614 | model_form_blend |
| predicted_3B | 0.0910 | 0.0650 | 0.0806 | model_form_blend |
| predicted_AB | 4.1500 | 3.8880 | 4.0452 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2393 | 0.2373 | model_form_blend |
| predicted_BB | 0.4240 | 0.3720 | 0.4032 | model_form_blend |
| predicted_H | 0.9800 | 0.9300 | 0.9600 | model_form_blend |
| predicted_HBP | - | 0.0850 | 0.0850 | form_only |
| predicted_HR | 0.1500 | 0.1500 | 0.1500 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3196 | 0.3174 | model_form_blend |
| predicted_R | 0.6060 | 0.6350 | 0.6176 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4010 | 0.4184 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4038 | 0.4051 | model_form_blend |
| predicted_SO | 0.7270 | 0.7540 | 0.7378 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 114 |
| Season rows before report date | 114 |
| 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 | 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.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 3 |
| Hitting_RBI | 1 |
| 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 | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 596019 |
| playerID | 596019 |
| playerName | Francisco Lindor |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 16.6 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.307 |
| sl_xwoba | 0.348 |
| sl_xba | 0.264 |
| sl_xslg | 0.449 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 23.3 |
| 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.129 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.859 | 4.000 | 4.000 | Hitting_AB | 3.860 | 5.000 | 0.140 | -1.000 |
| predicted_AVG | 0.247 | 0.000 | 0.250 | Hitting_AVG | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_BB | 0.271 | 0.000 | 0.000 | Hitting_BB | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 1.017 | 0.000 | -1.017 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.293 | 0.200 | 0.250 | Hitting_OBP | 0.329 | 0.000 | -0.129 | 0.200 |
| predicted_R | 0.529 | 0.000 | 0.000 | Hitting_R | 0.570 | 0.000 | -0.570 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.468 | 0.000 | -0.468 | 0.000 |
| predicted_SLG | 0.398 | 0.000 | 0.250 | Hitting_SLG | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_SO | 0.906 | 1.000 | 1.000 | Hitting_SO | 0.847 | 1.000 | 0.153 | 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.8590 -> 4.0000 (boost 0.1410, 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.8590 -> 3.9500 (boost 0.0910, better) | predicted_SLG: 0.3980 -> 0.3930 (deboost -0.0050, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 0.9756 -> 0.9246 (deboost -0.0510, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.9142 -> 1.0000 (boost 0.0858, worse) | predicted_RBI: 0.3733 -> 0.0000 (deboost -0.3733, worse) | AB rounded to 4 (raw=3.95), rates preserved: AVG=0.234 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4392 -> 0.0000 (deboost -0.4392, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2341 -> 0.2500 (boost 0.0159, better) | predicted_SLG: 0.3673 -> 0.2500 (deboost -0.1173, 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_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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3673 (boost 0.1173, better) | predicted_AVG: 0.2500 -> 0.2341 (deboost -0.0159, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.129,
"predicted_3B": 0.024,
"predicted_AB": 3.859,
"predicted_AVG": 0.247,
"predicted_BB": 0.271,
"predicted_H": 0.95,
"predicted_HR": 0.12,
"predicted_OBP": 0.293,
"predicted_R": 0.529,
"predicted_RBI": 0.41,
"predicted_SLG": 0.398,
"predicted_SO": 0.906
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1346,
"predicted_3B": 0.0202,
"predicted_AB": 3.95,
"predicted_AVG": 0.2474,
"predicted_BB": 0.2394,
"predicted_H": 0.9756,
"predicted_HBP": 0.03,
"predicted_HR": 0.1247,
"predicted_OBP": 0.2904,
"predicted_R": 0.482,
"predicted_RBI": 0.4096,
"predicted_SLG": 0.393,
"predicted_SO": 0.8979
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1346,
"delta": 0.0056,
"percent_delta": 0.0434,
"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.859,
"after": 3.95,
"delta": 0.091,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2474,
"delta": 0.0004,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.2394,
"delta": -0.0316,
"percent_delta": -0.1166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9756,
"delta": 0.0256,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1247,
"delta": 0.0047,
"percent_delta": 0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2904,
"delta": -0.0026,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.482,
"delta": -0.047,
"percent_delta": -0.0888,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4096,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.393,
"delta": -0.005,
"percent_delta": -0.0126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 0.8979,
"delta": -0.0081,
"percent_delta": -0.0089,
"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.859,
"after": 3.95,
"delta": 0.091,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.393,
"delta": -0.005,
"percent_delta": -0.0126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1346,
"predicted_3B": 0.0202,
"predicted_AB": 3.95,
"predicted_AVG": 0.2341,
"predicted_BB": 0.2351,
"predicted_H": 0.9246,
"predicted_HBP": 0.03,
"predicted_HR": 0.1171,
"predicted_OBP": 0.2771,
"predicted_R": 0.4392,
"predicted_RBI": 0.3733,
"predicted_SLG": 0.3673,
"predicted_SO": 0.9142
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1346,
"after": 0.1346,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0202,
"after": 0.0202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 3.95,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2474,
"after": 0.2341,
"delta": -0.0133,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2394,
"after": 0.2351,
"delta": -0.0043,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9756,
"after": 0.9246,
"delta": -0.051,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.1247,
"after": 0.1171,
"delta": -0.0076,
"percent_delta": -0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2904,
"after": 0.2771,
"delta": -0.0133,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.482,
"after": 0.4392,
"delta": -0.0428,
"percent_delta": -0.0888,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4096,
"after": 0.3733,
"delta": -0.0363,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3673,
"delta": -0.0257,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8979,
"after": 0.9142,
"delta": 0.0163,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.9756,
"after": 0.9246,
"delta": -0.051,
"percent_delta": -0.0523,
"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.234 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.1346,
"after": 0.0,
"delta": -0.1346,
"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.95,
"after": 4.0,
"delta": 0.05,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2351,
"after": 0.0,
"delta": -0.2351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9246,
"after": 1.0,
"delta": 0.0754,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"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.3733,
"after": 0.0,
"delta": -0.3733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9142,
"after": 1.0,
"delta": 0.0858,
"percent_delta": 0.0939,
"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.9142,
"after": 1.0,
"delta": 0.0858,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3733,
"after": 0.0,
"delta": -0.3733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4392,
"after": 0.0,
"delta": -0.4392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4392,
"after": 0.0,
"delta": -0.4392,
"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.2341,
"after": 0.25,
"delta": 0.0159,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2771,
"after": 0.25,
"delta": -0.0271,
"percent_delta": -0.0978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3673,
"after": 0.25,
"delta": -0.1173,
"percent_delta": -0.3194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2341,
"after": 0.25,
"delta": 0.0159,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3673,
"after": 0.25,
"delta": -0.1173,
"percent_delta": -0.3194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 4.0,
"predicted_AVG": 0.2341,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2771,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3673,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2341,
"delta": -0.0159,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2771,
"delta": 0.0271,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3673,
"delta": 0.1173,
"percent_delta": 0.4692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3673,
"delta": 0.1173,
"percent_delta": 0.4692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2341,
"delta": -0.0159,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.859,
"after": 4.0,
"delta": 0.141,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2341,
"delta": -0.0129,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.293,
"after": 0.2771,
"delta": -0.0159,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3673,
"delta": -0.0307,
"percent_delta": -0.0771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.859,
"after": 4.0,
"delta": 0.141,
"percent_delta": 0.0365,
"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.129 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.859 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.271 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.529 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 0.906 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | 0.006 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.950 | 0.091 |
| predicted_AVG | 0.247 | 0.000 |
| predicted_BB | 0.239 | -0.032 |
| predicted_H | 0.976 | 0.026 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.125 | 0.005 |
| predicted_OBP | 0.290 | -0.003 |
| predicted_R | 0.482 | -0.047 |
| predicted_RBI | 0.410 | -0.000 |
| predicted_SLG | 0.393 | -0.005 |
| predicted_SO | 0.898 | -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.135 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.950 | 0.000 |
| predicted_AVG | 0.234 | -0.013 |
| predicted_BB | 0.235 | -0.004 |
| predicted_H | 0.925 | -0.051 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.117 | -0.008 |
| predicted_OBP | 0.277 | -0.013 |
| predicted_R | 0.439 | -0.043 |
| predicted_RBI | 0.373 | -0.036 |
| predicted_SLG | 0.367 | -0.026 |
| predicted_SO | 0.914 | 0.016 |
AB rounded to 4 (raw=3.95), rates preserved: AVG=0.234 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.135 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.050 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.235 |
| predicted_H | 1.000 | 0.075 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.250 | -0.027 |
| predicted_R | 0.000 | -0.439 |
| predicted_RBI | 0.000 | -0.373 |
| predicted_SLG | 0.250 | -0.117 |
| predicted_SO | 1.000 | 0.086 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 4.000 | 0.2273 | 0.2273 | 0.4091 | 0.2273 | 0.0454 | 0.0909 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 10 | - | 45.000 | 11.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 9.000 | 0.2444 | 0.2609 | 0.3333 | 0.2444 | 0.0222 | 0.0889 | 0.0222 | 0.2000 |
| season | 0.60 | 85 | - | 328.000 | 84.000 | 11.000 | 2.000 | 10.000 | 34.000 | 45.000 | 23.000 | 77.000 | 0.2561 | 0.3127 | 0.3933 | 0.2561 | 0.0305 | 0.1037 | 0.0701 | 0.2348 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1420 |
| predicted_3B | 0.0150 |
| predicted_AB | 4.0720 |
| predicted_AVG | 0.2480 |
| predicted_BB | 0.1970 |
| predicted_H | 1.0100 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.2869 |
| predicted_R | 0.4190 |
| predicted_RBI | 0.4090 |
| predicted_SLG | 0.3864 |
| predicted_SO | 0.8870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1420 | 0.1346 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0202 | model_form_blend |
| predicted_AB | 3.8590 | 4.0720 | 3.9500 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2480 | 0.2474 | model_form_blend |
| predicted_BB | 0.2710 | 0.1970 | 0.2394 | model_form_blend |
| predicted_H | 0.9500 | 1.0100 | 0.9756 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.1200 | 0.1310 | 0.1247 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2869 | 0.2904 | model_form_blend |
| predicted_R | 0.5290 | 0.4190 | 0.4820 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4090 | 0.4096 | model_form_blend |
| predicted_SLG | 0.3980 | 0.3864 | 0.3930 | model_form_blend |
| predicted_SO | 0.9060 | 0.8870 | 0.8979 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 235 |
| Season rows before report date | 235 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.256 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 701807 |
| playerID | 701807 |
| playerName | Carson Benge |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.311 |
| sl_xwoba | 0.345 |
| sl_xba | 0.286 |
| sl_xslg | 0.449 |
| sl_sweet_spot_percent | 40.5 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.095 | 0.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.881 | 3.000 | 3.000 | Hitting_AB | 2.817 | 2.000 | 0.183 | 1.000 |
| predicted_AVG | 0.240 | 0.000 | 0.333 | Hitting_AVG | 0.260 | 0.500 | -0.260 | -0.500 |
| predicted_BB | 0.214 | 1.000 | 0.000 | Hitting_BB | 0.200 | 0.000 | 0.800 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.250 | 0.000 | 1.000 | Hitting_H | 0.733 | 1.000 | -0.733 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.248 | 0.250 | 0.333 | Hitting_OBP | 0.315 | 0.500 | -0.065 | -0.250 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.317 | 0.000 | -0.317 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.317 | 2.000 | -0.317 | -2.000 |
| predicted_SLG | 0.364 | 0.000 | 0.333 | Hitting_SLG | 0.420 | 0.500 | -0.420 | -0.500 |
| predicted_SO | 0.714 | 1.000 | 1.000 | Hitting_SO | 0.617 | 0.000 | 0.383 | 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.2140 -> 1.0000 (boost 0.7860, 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 | 6 | 4 | 2 | 4 | 2 | predicted_H: 0.2500 -> 0.3992 (boost 0.1492, better) | predicted_AVG: 0.2400 -> 0.2275 (deboost -0.0125, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3566 -> 0.2421 (deboost -0.1145, 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.7438 -> 1.0000 (boost 0.2562, worse) | predicted_H: 0.3783 -> 0.0000 (deboost -0.3783, worse) | AB rounded to 3 (raw=2.93), rates preserved: AVG=0.129 HR/AB=0.028 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2843 -> 0.0000 (deboost -0.2843, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1290 -> 0.3330 (boost 0.2040, 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.1290 (deboost -0.2040, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676724",
"player_name": "Jared Young",
"position": "1B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.095,
"predicted_3B": 0.0,
"predicted_AB": 2.881,
"predicted_AVG": 0.24,
"predicted_BB": 0.214,
"predicted_H": 0.25,
"predicted_HR": 0.07,
"predicted_OBP": 0.248,
"predicted_R": 0.333,
"predicted_RBI": 0.17,
"predicted_SLG": 0.364,
"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.0871,
"predicted_3B": 0.0008,
"predicted_AB": 2.9317,
"predicted_AVG": 0.2275,
"predicted_BB": 0.2025,
"predicted_H": 0.3992,
"predicted_HBP": 0.047,
"predicted_HR": 0.0862,
"predicted_OBP": 0.2544,
"predicted_R": 0.312,
"predicted_RBI": 0.2595,
"predicted_SLG": 0.3566,
"predicted_SO": 0.7306
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0871,
"delta": -0.0079,
"percent_delta": -0.0832,
"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": 2.9317,
"delta": 0.0507,
"percent_delta": 0.0176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2275,
"delta": -0.0125,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 0.2025,
"delta": -0.0115,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.3992,
"delta": 0.1492,
"percent_delta": 0.5968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0862,
"delta": 0.0162,
"percent_delta": 0.2314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2544,
"delta": 0.0064,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.312,
"delta": -0.021,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2595,
"delta": 0.0895,
"percent_delta": 0.5265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3566,
"delta": -0.0074,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.7306,
"delta": 0.0166,
"percent_delta": 0.0232,
"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.25,
"after": 0.3992,
"delta": 0.1492,
"percent_delta": 0.5968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2275,
"delta": -0.0125,
"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": 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.0871,
"predicted_3B": 0.0008,
"predicted_AB": 2.9317,
"predicted_AVG": 0.129,
"predicted_BB": 0.1988,
"predicted_H": 0.3783,
"predicted_HBP": 0.047,
"predicted_HR": 0.0809,
"predicted_OBP": 0.1844,
"predicted_R": 0.2843,
"predicted_RBI": 0.2365,
"predicted_SLG": 0.2421,
"predicted_SO": 0.7438
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0871,
"after": 0.0871,
"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.9317,
"after": 2.9317,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2275,
"after": 0.129,
"delta": -0.0985,
"percent_delta": -0.433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2025,
"after": 0.1988,
"delta": -0.0037,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3992,
"after": 0.3783,
"delta": -0.0209,
"percent_delta": -0.0524,
"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.0862,
"after": 0.0809,
"delta": -0.0053,
"percent_delta": -0.0615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2544,
"after": 0.1844,
"delta": -0.07,
"percent_delta": -0.2752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.2843,
"delta": -0.0277,
"percent_delta": -0.0888,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2595,
"after": 0.2365,
"delta": -0.023,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3566,
"after": 0.2421,
"delta": -0.1145,
"percent_delta": -0.3211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7306,
"after": 0.7438,
"delta": 0.0132,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3566,
"after": 0.2421,
"delta": -0.1145,
"percent_delta": -0.3211,
"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.129 HR/AB=0.028",
"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.0871,
"after": 0.0,
"delta": -0.0871,
"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.9317,
"after": 3.0,
"delta": 0.0683,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1988,
"after": 0.0,
"delta": -0.1988,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3783,
"after": 0.0,
"delta": -0.3783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2365,
"after": 0.0,
"delta": -0.2365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7438,
"after": 1.0,
"delta": 0.2562,
"percent_delta": 0.3444,
"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.7438,
"after": 1.0,
"delta": 0.2562,
"percent_delta": 0.3444,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3783,
"after": 0.0,
"delta": -0.3783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2843,
"after": 0.0,
"delta": -0.2843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2843,
"after": 0.0,
"delta": -0.2843,
"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.129,
"after": 0.333,
"delta": 0.204,
"percent_delta": 1.5814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1844,
"after": 0.333,
"delta": 0.1486,
"percent_delta": 0.8059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2421,
"after": 0.333,
"delta": 0.0909,
"percent_delta": 0.3755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.129,
"after": 0.333,
"delta": 0.204,
"percent_delta": 1.5814,
"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.129,
"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.1844,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2421,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.129,
"delta": -0.204,
"percent_delta": -0.6125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1844,
"delta": -0.1486,
"percent_delta": -0.4464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2421,
"delta": -0.0909,
"percent_delta": -0.2729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.129,
"delta": -0.204,
"percent_delta": -0.6125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.881,
"after": 3.0,
"delta": 0.119,
"percent_delta": 0.0413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.129,
"delta": -0.111,
"percent_delta": -0.4625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 1.0,
"delta": 0.786,
"percent_delta": 3.6729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.1844,
"delta": -0.0636,
"percent_delta": -0.2565,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.2421,
"delta": -0.1219,
"percent_delta": -0.3349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 1.0,
"delta": 0.286,
"percent_delta": 0.4006,
"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.214,
"after": 1.0,
"delta": 0.786,
"percent_delta": 3.6729,
"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.095 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.881 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.214 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.248 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.364 | - |
| 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.087 | -0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.932 | 0.051 |
| predicted_AVG | 0.228 | -0.012 |
| predicted_BB | 0.203 | -0.011 |
| predicted_H | 0.399 | 0.149 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.086 | 0.016 |
| predicted_OBP | 0.254 | 0.006 |
| predicted_R | 0.312 | -0.021 |
| predicted_RBI | 0.260 | 0.089 |
| predicted_SLG | 0.357 | -0.007 |
| predicted_SO | 0.731 | 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.087 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.932 | 0.000 |
| predicted_AVG | 0.129 | -0.099 |
| predicted_BB | 0.199 | -0.004 |
| predicted_H | 0.378 | -0.021 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.081 | -0.005 |
| predicted_OBP | 0.184 | -0.070 |
| predicted_R | 0.284 | -0.028 |
| predicted_RBI | 0.236 | -0.023 |
| predicted_SLG | 0.242 | -0.114 |
| predicted_SO | 0.744 | 0.013 |
AB rounded to 3 (raw=2.93), rates preserved: AVG=0.129 HR/AB=0.028
| 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.087 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.068 |
| predicted_AVG | 0.333 | 0.204 |
| predicted_BB | 0.000 | -0.199 |
| predicted_H | 1.000 | 0.622 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.333 | 0.149 |
| predicted_R | 0.000 | -0.284 |
| predicted_RBI | 0.000 | -0.236 |
| predicted_SLG | 0.333 | 0.091 |
| predicted_SO | 1.000 | 0.256 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.1429 | 0.1429 | 0.1429 | 0.1429 | 0.0000 | 0.1429 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 10 | - | 27.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 2.000 | 7.000 | 0.1852 | 0.2667 | 0.2963 | 0.1852 | 0.0370 | 0.1482 | 0.0741 | 0.2593 |
| season | 0.60 | 42 | - | 121.000 | 27.000 | 4.000 | 0.000 | 6.000 | 15.000 | 14.000 | 9.000 | 30.000 | 0.2231 | 0.2879 | 0.4050 | 0.2231 | 0.0496 | 0.1240 | 0.0744 | 0.2479 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0750 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0090 |
| predicted_AVG | 0.2085 |
| predicted_BB | 0.1850 |
| predicted_H | 0.6270 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.1110 |
| predicted_OBP | 0.2642 |
| predicted_R | 0.2800 |
| predicted_RBI | 0.3960 |
| predicted_SLG | 0.3454 |
| predicted_SO | 0.7560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.0750 | 0.0871 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8810 | 3.0090 | 2.9317 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2085 | 0.2275 | model_form_blend |
| predicted_BB | 0.2140 | 0.1850 | 0.2025 | model_form_blend |
| predicted_H | 0.2500 | 0.6270 | 0.3992 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.0700 | 0.1110 | 0.0862 | model_form_blend |
| predicted_OBP | 0.2480 | 0.2642 | 0.2544 | model_form_blend |
| predicted_R | 0.3330 | 0.2800 | 0.3120 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3960 | 0.2595 | model_form_blend |
| predicted_SLG | 0.3640 | 0.3454 | 0.3566 | model_form_blend |
| predicted_SO | 0.7140 | 0.7560 | 0.7306 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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-1B |
| gameID | 20260705_NYM@ATL |
| game_type | ph |
| mlbID | 676724 |
| note | Lined out for Vientos in the 8th. |
| playerID | 676724 |
| playerName | Jared Young |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.305 |
| sl_xwoba | 0.318 |
| sl_xba | 0.228 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 46.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.123 | 1.000 | 0.000 | Hitting_2B | 0.112 | 0.000 | 0.888 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.333 | 4.000 | 3.000 | Hitting_AB | 3.408 | 3.000 | 0.592 | 1.000 |
| predicted_AVG | 0.244 | 0.750 | 0.333 | Hitting_AVG | 0.237 | 0.000 | 0.513 | 0.750 |
| predicted_BB | 0.263 | 0.000 | 0.000 | Hitting_BB | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.780 | 3.000 | 1.000 | Hitting_H | 0.809 | 0.000 | 2.191 | 3.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.158 | 0.000 | 0.842 | 1.000 |
| predicted_OBP | 0.288 | 0.750 | 0.333 | Hitting_OBP | 0.311 | 0.250 | 0.439 | 0.500 |
| predicted_R | 0.316 | 1.000 | 0.000 | Hitting_R | 0.362 | 0.000 | 0.638 | 1.000 |
| predicted_RBI | 0.340 | 3.000 | 0.000 | Hitting_RBI | 0.342 | 0.000 | 2.658 | 3.000 |
| predicted_SLG | 0.417 | 1.750 | 0.333 | Hitting_SLG | 0.409 | 0.000 | 1.341 | 1.750 |
| predicted_SO | 0.982 | 0.000 | 1.000 | Hitting_SO | 0.895 | 1.000 | -0.895 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.3400 -> 3.0000 (boost 2.6600, better) |
| Biggest Deboost | predicted_SO: 0.9820 -> 0.0000 (deboost -0.9820, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.3330 -> 3.3958 (boost 0.0628, better) | predicted_AVG: 0.2440 -> 0.2366 (deboost -0.0074, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4175 -> 0.3906 (deboost -0.0269, 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.7423 -> 1.0000 (boost 0.2577, better) | predicted_AB: 3.3958 -> 3.0000 (deboost -0.3958, worse) | AB rounded to 3 (raw=3.40), rates preserved: AVG=0.219 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2880 -> 0.0000 (deboost -0.2880, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2186 -> 0.3330 (boost 0.1144, better) | predicted_SLG: 0.3906 -> 0.3330 (deboost -0.0576, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 6 | 1 | 7 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3906 (boost 0.0576, better) | predicted_AVG: 0.3330 -> 0.2186 (deboost -0.1144, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"position": "C",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.123,
"predicted_3B": 0.0,
"predicted_AB": 3.333,
"predicted_AVG": 0.244,
"predicted_BB": 0.263,
"predicted_H": 0.78,
"predicted_HR": 0.15,
"predicted_OBP": 0.288,
"predicted_R": 0.316,
"predicted_RBI": 0.34,
"predicted_SLG": 0.417,
"predicted_SO": 0.982
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1366,
"predicted_3B": 0.0008,
"predicted_AB": 3.3958,
"predicted_AVG": 0.2366,
"predicted_BB": 0.2337,
"predicted_H": 0.7833,
"predicted_HBP": 0.083,
"predicted_HR": 0.1583,
"predicted_OBP": 0.2855,
"predicted_R": 0.316,
"predicted_RBI": 0.3264,
"predicted_SLG": 0.4175,
"predicted_SO": 1.0283
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.1366,
"delta": 0.0136,
"percent_delta": 0.1106,
"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.333,
"after": 3.3958,
"delta": 0.0628,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2366,
"delta": -0.0074,
"percent_delta": -0.0303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.2337,
"delta": -0.0293,
"percent_delta": -0.1114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7833,
"delta": 0.0033,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1583,
"delta": 0.0083,
"percent_delta": 0.0553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2855,
"delta": -0.0025,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3264,
"delta": -0.0136,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4175,
"delta": 0.0005,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 1.0283,
"delta": 0.0463,
"percent_delta": 0.0471,
"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.333,
"after": 3.3958,
"delta": 0.0628,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2366,
"delta": -0.0074,
"percent_delta": -0.0303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1366,
"predicted_3B": 0.0008,
"predicted_AB": 3.3958,
"predicted_AVG": 0.2186,
"predicted_BB": 0.2295,
"predicted_H": 0.7423,
"predicted_HBP": 0.083,
"predicted_HR": 0.1486,
"predicted_OBP": 0.2681,
"predicted_R": 0.288,
"predicted_RBI": 0.2974,
"predicted_SLG": 0.3906,
"predicted_SO": 1.0469
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1366,
"after": 0.1366,
"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.3958,
"after": 3.3958,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2366,
"after": 0.2186,
"delta": -0.018,
"percent_delta": -0.0761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2337,
"after": 0.2295,
"delta": -0.0042,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7833,
"after": 0.7423,
"delta": -0.041,
"percent_delta": -0.0523,
"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.1583,
"after": 0.1486,
"delta": -0.0097,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2855,
"after": 0.2681,
"delta": -0.0174,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.288,
"delta": -0.028,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3264,
"after": 0.2974,
"delta": -0.029,
"percent_delta": -0.0888,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4175,
"after": 0.3906,
"delta": -0.0269,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0283,
"after": 1.0469,
"delta": 0.0186,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4175,
"after": 0.3906,
"delta": -0.0269,
"percent_delta": -0.0644,
"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.219 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1366,
"after": 0.0,
"delta": -0.1366,
"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.3958,
"after": 3.0,
"delta": -0.3958,
"percent_delta": -0.1166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2295,
"after": 0.0,
"delta": -0.2295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7423,
"after": 1.0,
"delta": 0.2577,
"percent_delta": 0.3472,
"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.1486,
"after": 0.0,
"delta": -0.1486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2974,
"after": 0.0,
"delta": -0.2974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0469,
"after": 1.0,
"delta": -0.0469,
"percent_delta": -0.0448,
"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.7423,
"after": 1.0,
"delta": 0.2577,
"percent_delta": 0.3472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3958,
"after": 3.0,
"delta": -0.3958,
"percent_delta": -0.1166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.288,
"after": 0.0,
"delta": -0.288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.288,
"after": 0.0,
"delta": -0.288,
"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.2186,
"after": 0.333,
"delta": 0.1144,
"percent_delta": 0.5233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2681,
"after": 0.333,
"delta": 0.0649,
"percent_delta": 0.2421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3906,
"after": 0.333,
"delta": -0.0576,
"percent_delta": -0.1475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2186,
"after": 0.333,
"delta": 0.1144,
"percent_delta": 0.5233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3906,
"after": 0.333,
"delta": -0.0576,
"percent_delta": -0.1475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 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": 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": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2186,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2681,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3906,
"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.2186,
"delta": -0.1144,
"percent_delta": -0.3435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.2681,
"delta": -0.0649,
"percent_delta": -0.195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3906,
"delta": 0.0576,
"percent_delta": 0.173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3906,
"delta": 0.0576,
"percent_delta": 0.173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2186,
"delta": -0.1144,
"percent_delta": -0.3435,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.877,
"percent_delta": 7.1301,
"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.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2186,
"delta": -0.0254,
"percent_delta": -0.1041,
"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.78,
"after": 3.0,
"delta": 2.22,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2681,
"delta": -0.0199,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 1.0,
"delta": 0.684,
"percent_delta": 2.1646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 3.0,
"delta": 2.66,
"percent_delta": 7.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3906,
"delta": -0.0264,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 0.0,
"delta": -0.982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.34,
"after": 3.0,
"delta": 2.66,
"percent_delta": 7.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.982,
"after": 0.0,
"delta": -0.982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.316 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.982 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.137 | 0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.396 | 0.063 |
| predicted_AVG | 0.237 | -0.007 |
| predicted_BB | 0.234 | -0.029 |
| predicted_H | 0.783 | 0.003 |
| predicted_HBP | 0.083 | - |
| predicted_HR | 0.158 | 0.008 |
| predicted_OBP | 0.285 | -0.003 |
| predicted_R | 0.316 | 0.000 |
| predicted_RBI | 0.326 | -0.014 |
| predicted_SLG | 0.417 | 0.001 |
| predicted_SO | 1.028 | 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.137 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.396 | 0.000 |
| predicted_AVG | 0.219 | -0.018 |
| predicted_BB | 0.230 | -0.004 |
| predicted_H | 0.742 | -0.041 |
| predicted_HBP | 0.083 | 0.000 |
| predicted_HR | 0.149 | -0.010 |
| predicted_OBP | 0.268 | -0.017 |
| predicted_R | 0.288 | -0.028 |
| predicted_RBI | 0.297 | -0.029 |
| predicted_SLG | 0.391 | -0.027 |
| predicted_SO | 1.047 | 0.019 |
AB rounded to 3 (raw=3.40), rates preserved: AVG=0.219 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.137 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.396 |
| predicted_AVG | 0.333 | 0.114 |
| predicted_BB | 0.000 | -0.230 |
| predicted_H | 1.000 | 0.258 |
| predicted_HR | 0.000 | -0.149 |
| predicted_OBP | 0.333 | 0.065 |
| predicted_R | 0.000 | -0.288 |
| predicted_RBI | 0.000 | -0.297 |
| predicted_SLG | 0.333 | -0.058 |
| predicted_SO | 1.000 | -0.047 |
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 | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 6.000 | 0.2222 | 0.2632 | 0.4444 | 0.2222 | 0.0556 | 0.0556 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 2.000 | 0.000 | 2.000 | 2.000 | 3.000 | 1.000 | 15.000 | 0.1667 | 0.2105 | 0.3889 | 0.1667 | 0.0556 | 0.0556 | 0.0278 | 0.4167 |
| season | 0.60 | 57 | - | 190.000 | 46.000 | 7.000 | 0.000 | 9.000 | 19.000 | 18.000 | 15.000 | 56.000 | 0.2421 | 0.3062 | 0.4211 | 0.2421 | 0.0474 | 0.1000 | 0.0790 | 0.2947 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4850 |
| predicted_AVG | 0.2262 |
| predicted_BB | 0.1920 |
| predicted_H | 0.7880 |
| predicted_HBP | 0.0830 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.2819 |
| predicted_R | 0.3160 |
| predicted_RBI | 0.3070 |
| predicted_SLG | 0.4181 |
| predicted_SO | 1.0940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.1560 | 0.1366 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3330 | 3.4850 | 3.3958 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2262 | 0.2366 | model_form_blend |
| predicted_BB | 0.2630 | 0.1920 | 0.2337 | model_form_blend |
| predicted_H | 0.7800 | 0.7880 | 0.7833 | model_form_blend |
| predicted_HBP | - | 0.0830 | 0.0830 | form_only |
| predicted_HR | 0.1500 | 0.1700 | 0.1583 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2819 | 0.2855 | model_form_blend |
| predicted_R | 0.3160 | 0.3160 | 0.3160 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3070 | 0.3264 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4181 | 0.4175 | model_form_blend |
| predicted_SO | 0.9820 | 1.0940 | 1.0283 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 152 |
| Season rows before report date | 152 |
| Report year | 2026 |
| Profile rows used | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| 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 | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260704_NYM@ATL |
| game_type | full |
| mlbID | 682626 |
| playerID | 682626 |
| playerName | Francisco Alvarez |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-04 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.321 |
| sl_xwoba | 0.338 |
| sl_xba | 0.247 |
| sl_xslg | 0.473 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 16.9 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 32.9 |
| 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.062 | 0.000 | 0.000 | Hitting_2B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.875 | 4.000 | 3.000 | Hitting_AB | 3.263 | 1.000 | 0.737 | 3.000 |
| predicted_AVG | 0.212 | 0.250 | 0.000 | Hitting_AVG | 0.169 | 0.000 | 0.081 | 0.250 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.220 | 1.000 | 0.000 | Hitting_H | 0.553 | 0.000 | 0.447 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_OBP | 0.212 | 0.250 | 0.000 | Hitting_OBP | 0.169 | 0.000 | 0.081 | 0.250 |
| predicted_R | 0.188 | 0.000 | 0.000 | Hitting_R | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_SLG | 0.300 | 0.250 | 0.000 | Hitting_SLG | 0.250 | 0.000 | 0.000 | 0.250 |
| predicted_SO | 1.125 | 0.000 | 1.000 | Hitting_SO | 1.289 | 1.000 | -1.289 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.8750 -> 4.0000 (boost 1.1250, better) |
| Biggest Deboost | predicted_SO: 1.1250 -> 0.0000 (deboost -1.1250, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_H: 0.2200 -> 0.3271 (boost 0.1071, better) | predicted_AVG: 0.2120 -> 0.1993 (deboost -0.0127, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2955 -> 0.1761 (deboost -0.1194, 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 | 1 | 3 | - | predicted_H: 0.3100 -> 0.0000 (deboost -0.3100, worse) | AB rounded to 3 (raw=2.95), rates preserved: AVG=0.105 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1899 -> 0.0000 (deboost -0.1899, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.1761 -> 0.0000 (deboost -0.1761, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.0000 -> 0.1761 (boost 0.1761, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677595",
"player_name": "Ronny Mauricio",
"position": "SS",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.062,
"predicted_3B": 0.0,
"predicted_AB": 2.875,
"predicted_AVG": 0.212,
"predicted_BB": 0.0,
"predicted_H": 0.22,
"predicted_HR": 0.03,
"predicted_OBP": 0.212,
"predicted_R": 0.188,
"predicted_RBI": 0.11,
"predicted_SLG": 0.3,
"predicted_SO": 1.125
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0734,
"predicted_3B": 0.0017,
"predicted_AB": 2.9506,
"predicted_AVG": 0.1993,
"predicted_BB": 0.0288,
"predicted_H": 0.3271,
"predicted_HBP": 0.011,
"predicted_HR": 0.0471,
"predicted_OBP": 0.2069,
"predicted_R": 0.2084,
"predicted_RBI": 0.1465,
"predicted_SLG": 0.2955,
"predicted_SO": 1.1113
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.062,
"after": 0.0734,
"delta": 0.0114,
"percent_delta": 0.1839,
"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.875,
"after": 2.9506,
"delta": 0.0756,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.1993,
"delta": -0.0127,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0288,
"delta": 0.0288,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.22,
"after": 0.3271,
"delta": 0.1071,
"percent_delta": 0.4868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0471,
"delta": 0.0171,
"percent_delta": 0.57,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.212,
"after": 0.2069,
"delta": -0.0051,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.188,
"after": 0.2084,
"delta": 0.0204,
"percent_delta": 0.1085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1465,
"delta": 0.0365,
"percent_delta": 0.3318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3,
"after": 0.2955,
"delta": -0.0045,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 1.1113,
"delta": -0.0137,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.22,
"after": 0.3271,
"delta": 0.1071,
"percent_delta": 0.4868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.1993,
"delta": -0.0127,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.0734,
"predicted_3B": 0.0017,
"predicted_AB": 2.9506,
"predicted_AVG": 0.1051,
"predicted_BB": 0.0283,
"predicted_H": 0.31,
"predicted_HBP": 0.011,
"predicted_HR": 0.0442,
"predicted_OBP": 0.1136,
"predicted_R": 0.1899,
"predicted_RBI": 0.1335,
"predicted_SLG": 0.1761,
"predicted_SO": 1.1314
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0734,
"after": 0.0734,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9506,
"after": 2.9506,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1993,
"after": 0.1051,
"delta": -0.0942,
"percent_delta": -0.4727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0288,
"after": 0.0283,
"delta": -0.0005,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3271,
"after": 0.31,
"delta": -0.0171,
"percent_delta": -0.0523,
"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.0471,
"after": 0.0442,
"delta": -0.0029,
"percent_delta": -0.0616,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2069,
"after": 0.1136,
"delta": -0.0933,
"percent_delta": -0.4509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2084,
"after": 0.1899,
"delta": -0.0185,
"percent_delta": -0.0888,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1465,
"after": 0.1335,
"delta": -0.013,
"percent_delta": -0.0887,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2955,
"after": 0.1761,
"delta": -0.1194,
"percent_delta": -0.4041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1113,
"after": 1.1314,
"delta": 0.0201,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2955,
"after": 0.1761,
"delta": -0.1194,
"percent_delta": -0.4041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.105 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0734,
"after": 0.0,
"delta": -0.0734,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9506,
"after": 3.0,
"delta": 0.0494,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0283,
"after": 0.0,
"delta": -0.0283,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.0442,
"after": 0.0,
"delta": -0.0442,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1335,
"after": 0.0,
"delta": -0.1335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1314,
"after": 1.0,
"delta": -0.1314,
"percent_delta": -0.1161,
"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": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.1899,
"after": 0.0,
"delta": -0.1899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.1899,
"after": 0.0,
"delta": -0.1899,
"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.1051,
"after": 0.0,
"delta": -0.1051,
"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.1136,
"after": 0.0,
"delta": -0.1136,
"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.1761,
"after": 0.0,
"delta": -0.1761,
"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.1761,
"after": 0.0,
"delta": -0.1761,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1051,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1136,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1761,
"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.0,
"after": 0.1051,
"delta": 0.1051,
"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.1136,
"delta": 0.1136,
"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.1761,
"delta": 0.1761,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.1761,
"delta": 0.1761,
"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.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": 2.875,
"after": 4.0,
"delta": 1.125,
"percent_delta": 0.3913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.1051,
"delta": -0.1069,
"percent_delta": -0.5042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.212,
"after": 0.1136,
"delta": -0.0984,
"percent_delta": -0.4642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3,
"after": 0.1761,
"delta": -0.1239,
"percent_delta": -0.413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 0.0,
"delta": -1.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.875,
"after": 4.0,
"delta": 1.125,
"percent_delta": 0.3913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.125,
"after": 0.0,
"delta": -1.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.062 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.875 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.220 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.212 | - |
| predicted_R | 0.188 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.300 | - |
| predicted_SO | 1.125 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.073 | 0.011 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.951 | 0.076 |
| predicted_AVG | 0.199 | -0.013 |
| predicted_BB | 0.029 | 0.029 |
| predicted_H | 0.327 | 0.107 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.047 | 0.017 |
| predicted_OBP | 0.207 | -0.005 |
| predicted_R | 0.208 | 0.020 |
| predicted_RBI | 0.146 | 0.036 |
| predicted_SLG | 0.295 | -0.005 |
| predicted_SO | 1.111 | -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.073 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.951 | 0.000 |
| predicted_AVG | 0.105 | -0.094 |
| predicted_BB | 0.028 | -0.001 |
| predicted_H | 0.310 | -0.017 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.044 | -0.003 |
| predicted_OBP | 0.114 | -0.093 |
| predicted_R | 0.190 | -0.018 |
| predicted_RBI | 0.134 | -0.013 |
| predicted_SLG | 0.176 | -0.119 |
| predicted_SO | 1.131 | 0.020 |
AB rounded to 3 (raw=2.95), rates preserved: AVG=0.105 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.073 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.049 |
| predicted_AVG | 0.000 | -0.105 |
| predicted_BB | 0.000 | -0.028 |
| predicted_H | 0.000 | -0.310 |
| predicted_HR | 0.000 | -0.044 |
| predicted_OBP | 0.000 | -0.114 |
| predicted_R | 0.000 | -0.190 |
| predicted_RBI | 0.000 | -0.134 |
| predicted_SLG | 0.000 | -0.176 |
| predicted_SO | 1.000 | -0.131 |
Attached simulation box 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 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 9.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.5556 |
| last_10 | 0.20 | 10 | - | 28.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 12.000 | 0.1071 | 0.1071 | 0.2500 | 0.1071 | 0.0357 | 0.0357 | 0.0000 | 0.4286 |
| season | 0.60 | 16 | - | 46.000 | 8.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 18.000 | 0.1739 | 0.1739 | 0.2609 | 0.1739 | 0.0217 | 0.0435 | 0.0000 | 0.3913 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.1010 |
| predicted_AVG | 0.1740 |
| predicted_BB | 0.0860 |
| predicted_H | 0.5400 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.1969 |
| predicted_R | 0.2490 |
| predicted_RBI | 0.2190 |
| predicted_SLG | 0.2866 |
| predicted_SO | 1.0840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0620 | 0.0960 | 0.0734 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.8750 | 3.1010 | 2.9506 | model_form_blend |
| predicted_AVG | 0.2120 | 0.1740 | 0.1993 | model_form_blend |
| predicted_BB | 0.0000 | 0.0860 | 0.0288 | model_form_blend |
| predicted_H | 0.2200 | 0.5400 | 0.3271 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0300 | 0.0810 | 0.0471 | model_form_blend |
| predicted_OBP | 0.2120 | 0.1969 | 0.2069 | model_form_blend |
| predicted_R | 0.1880 | 0.2490 | 0.2084 | model_form_blend |
| predicted_RBI | 0.1100 | 0.2190 | 0.1465 | model_form_blend |
| predicted_SLG | 0.3000 | 0.2866 | 0.2955 | model_form_blend |
| predicted_SO | 1.1250 | 1.0840 | 1.1113 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 16 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.174 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260704_NYM@ATL |
| game_type | ph |
| mlbID | 677595 |
| note | Struck out for Soto, J in the 9th. |
| playerID | 677595 |
| playerName | Ronny Mauricio |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-04 |
| sl_k_percent | 39.1 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.188 |
| sl_xwoba | 0.204 |
| sl_xba | 0.177 |
| sl_xslg | 0.303 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 6.7 |
| sl_whiff_percent | 33.0 |
| sl_swing_percent | 63.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.150 | 0.000 | 0.000 | Hitting_2B | 0.174 | 1.000 | -0.174 | -1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.225 | 4.000 | 3.000 | Hitting_AB | 3.417 | 4.000 | 0.583 | 0.000 |
| predicted_AVG | 0.257 | 0.250 | 0.333 | Hitting_AVG | 0.242 | 0.500 | 0.008 | -0.250 |
| predicted_BB | 0.325 | 0.000 | 0.000 | Hitting_BB | 0.349 | 0.000 | -0.349 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.710 | 1.000 | 1.000 | Hitting_H | 0.826 | 2.000 | 0.174 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_OBP | 0.310 | 0.250 | 0.333 | Hitting_OBP | 0.315 | 0.500 | -0.065 | -0.250 |
| predicted_R | 0.363 | 0.000 | 0.000 | Hitting_R | 0.472 | 2.000 | -0.472 | -2.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.431 | 0.000 | -0.431 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_SLG | 0.366 | 0.250 | 0.333 | Hitting_SLG | 0.362 | 0.750 | -0.112 | -0.500 |
| predicted_SO | 0.975 | 1.000 | 1.000 | Hitting_SO | 1.032 | 1.000 | -0.032 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.2250 -> 4.0000 (boost 0.7750, better) |
| Biggest Deboost | predicted_R: 0.3630 -> 0.0000 (deboost -0.3630, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3633 -> 0.3282 (deboost -0.0351, 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_H: 0.7157 -> 1.0000 (boost 0.2843, better) | predicted_BB: 0.3221 -> 0.0000 (deboost -0.3221, worse) | AB rounded to 3 (raw=3.26), rates preserved: AVG=0.220 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3543 -> 0.0000 (deboost -0.3543, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2196 -> 0.3330 (boost 0.1134, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2196 (deboost -0.1134, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683146",
"player_name": "Brett Baty",
"position": "2B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.013,
"predicted_AB": 3.225,
"predicted_AVG": 0.257,
"predicted_BB": 0.325,
"predicted_H": 0.71,
"predicted_HR": 0.06,
"predicted_OBP": 0.31,
"predicted_R": 0.363,
"predicted_RBI": 0.29,
"predicted_SLG": 0.366,
"predicted_SO": 0.975
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1965,
"predicted_3B": 0.0109,
"predicted_AB": 3.2592,
"predicted_AVG": 0.2528,
"predicted_BB": 0.328,
"predicted_H": 0.7552,
"predicted_HBP": 0.024,
"predicted_HR": 0.0482,
"predicted_OBP": 0.3117,
"predicted_R": 0.3888,
"predicted_RBI": 0.2866,
"predicted_SLG": 0.3633,
"predicted_SO": 0.945
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.1965,
"delta": 0.0465,
"percent_delta": 0.31,
"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.225,
"after": 3.2592,
"delta": 0.0342,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2528,
"delta": -0.0042,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.328,
"delta": 0.003,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7552,
"delta": 0.0452,
"percent_delta": 0.0637,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.31,
"after": 0.3117,
"delta": 0.0017,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.363,
"after": 0.3888,
"delta": 0.0258,
"percent_delta": 0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2866,
"delta": -0.0034,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3633,
"delta": -0.0027,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.975,
"after": 0.945,
"delta": -0.03,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1965,
"predicted_3B": 0.0109,
"predicted_AB": 3.2592,
"predicted_AVG": 0.2196,
"predicted_BB": 0.3221,
"predicted_H": 0.7157,
"predicted_HBP": 0.024,
"predicted_HR": 0.0453,
"predicted_OBP": 0.2898,
"predicted_R": 0.3543,
"predicted_RBI": 0.2612,
"predicted_SLG": 0.3282,
"predicted_SO": 0.9621
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1965,
"after": 0.1965,
"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.2592,
"after": 3.2592,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2528,
"after": 0.2196,
"delta": -0.0332,
"percent_delta": -0.1313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.3221,
"delta": -0.0059,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7552,
"after": 0.7157,
"delta": -0.0395,
"percent_delta": -0.0523,
"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.0482,
"after": 0.0453,
"delta": -0.0029,
"percent_delta": -0.0602,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3117,
"after": 0.2898,
"delta": -0.0219,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3888,
"after": 0.3543,
"delta": -0.0345,
"percent_delta": -0.0887,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2866,
"after": 0.2612,
"delta": -0.0254,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3633,
"after": 0.3282,
"delta": -0.0351,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.945,
"after": 0.9621,
"delta": 0.0171,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3633,
"after": 0.3282,
"delta": -0.0351,
"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.26), rates preserved: AVG=0.220 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.1965,
"after": 0.0,
"delta": -0.1965,
"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.2592,
"after": 3.0,
"delta": -0.2592,
"percent_delta": -0.0795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3221,
"after": 0.0,
"delta": -0.3221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7157,
"after": 1.0,
"delta": 0.2843,
"percent_delta": 0.3972,
"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.0453,
"after": 0.0,
"delta": -0.0453,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2612,
"after": 0.0,
"delta": -0.2612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9621,
"after": 1.0,
"delta": 0.0379,
"percent_delta": 0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7157,
"after": 1.0,
"delta": 0.2843,
"percent_delta": 0.3972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3221,
"after": 0.0,
"delta": -0.3221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3543,
"after": 0.0,
"delta": -0.3543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3543,
"after": 0.0,
"delta": -0.3543,
"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.2196,
"after": 0.333,
"delta": 0.1134,
"percent_delta": 0.5164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2898,
"after": 0.333,
"delta": 0.0432,
"percent_delta": 0.1491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3282,
"after": 0.333,
"delta": 0.0048,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2196,
"after": 0.333,
"delta": 0.1134,
"percent_delta": 0.5164,
"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.2196,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2898,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3282,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2196,
"delta": -0.1134,
"percent_delta": -0.3406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2898,
"delta": -0.0432,
"percent_delta": -0.1298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3282,
"delta": -0.0048,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2196,
"delta": -0.1134,
"percent_delta": -0.3406,
"direction": "deboost",
"projection_effect": "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.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.225,
"after": 4.0,
"delta": 0.775,
"percent_delta": 0.2403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2196,
"delta": -0.0374,
"percent_delta": -0.1455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.0,
"delta": -0.325,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2898,
"delta": -0.0202,
"percent_delta": -0.0652,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.363,
"after": 0.0,
"delta": -0.363,
"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.366,
"after": 0.3282,
"delta": -0.0378,
"percent_delta": -0.1033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.975,
"after": 1.0,
"delta": 0.025,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.225,
"after": 4.0,
"delta": 0.775,
"percent_delta": 0.2403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.363,
"after": 0.0,
"delta": -0.363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.013 | - |
| predicted_AB | 3.225 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.325 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.363 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.366 | - |
| predicted_SO | 0.975 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | 0.047 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.259 | 0.034 |
| predicted_AVG | 0.253 | -0.004 |
| predicted_BB | 0.328 | 0.003 |
| predicted_H | 0.755 | 0.045 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.312 | 0.002 |
| predicted_R | 0.389 | 0.026 |
| predicted_RBI | 0.287 | -0.003 |
| predicted_SLG | 0.363 | -0.003 |
| predicted_SO | 0.945 | -0.030 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.259 | 0.000 |
| predicted_AVG | 0.220 | -0.033 |
| predicted_BB | 0.322 | -0.006 |
| predicted_H | 0.716 | -0.039 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.045 | -0.003 |
| predicted_OBP | 0.290 | -0.022 |
| predicted_R | 0.354 | -0.034 |
| predicted_RBI | 0.261 | -0.025 |
| predicted_SLG | 0.328 | -0.035 |
| predicted_SO | 0.962 | 0.017 |
AB rounded to 3 (raw=3.26), rates preserved: AVG=0.220 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.197 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.259 |
| predicted_AVG | 0.333 | 0.113 |
| predicted_BB | 0.000 | -0.322 |
| predicted_H | 1.000 | 0.284 |
| predicted_HR | 0.000 | -0.045 |
| predicted_OBP | 0.333 | 0.043 |
| predicted_R | 0.000 | -0.354 |
| predicted_RBI | 0.000 | -0.261 |
| predicted_SLG | 0.333 | 0.005 |
| predicted_SO | 1.000 | 0.038 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 17.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 4.000 | 0.3529 | 0.3684 | 0.5294 | 0.3529 | 0.0000 | 0.0588 | 0.0588 | 0.2353 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 8.000 | 0.2188 | 0.3158 | 0.3125 | 0.2188 | 0.0000 | 0.0312 | 0.1562 | 0.2500 |
| season | 0.60 | 80 | - | 258.000 | 57.000 | 12.000 | 1.000 | 3.000 | 27.000 | 29.000 | 26.000 | 78.000 | 0.2209 | 0.2966 | 0.3101 | 0.2209 | 0.0116 | 0.1047 | 0.1008 | 0.3023 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2600 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.3060 |
| predicted_AVG | 0.2470 |
| predicted_BB | 0.3320 |
| predicted_H | 0.8170 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0320 |
| predicted_OBP | 0.3140 |
| predicted_R | 0.4240 |
| predicted_RBI | 0.2820 |
| predicted_SLG | 0.3596 |
| predicted_SO | 0.9040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.2600 | 0.1965 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 3.2250 | 3.3060 | 3.2592 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2470 | 0.2528 | model_form_blend |
| predicted_BB | 0.3250 | 0.3320 | 0.3280 | model_form_blend |
| predicted_H | 0.7100 | 0.8170 | 0.7552 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0600 | 0.0320 | 0.0482 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3140 | 0.3117 | model_form_blend |
| predicted_R | 0.3630 | 0.4240 | 0.3888 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2820 | 0.2866 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3596 | 0.3633 | model_form_blend |
| predicted_SO | 0.9750 | 0.9040 | 0.9450 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 683146 |
| playerID | 683146 |
| playerName | Brett Baty |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.276 |
| sl_xwoba | 0.298 |
| sl_xba | 0.229 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 47.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 2.111 | 3.000 | -2.111 | -3.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 2.833 | 5.000 | 2.167 | 0.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.389 | 7.000 | 0.611 | -1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.128 | 4.000 | -0.128 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 5.111 | 4.000 | -4.111 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642547",
"player_name": "Freddy Peralta",
"position": "Starter",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.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": 5.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_R": 5.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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 | 5.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.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 | 23.100 | 22.000 | 32.000 | 8.000 | 18.000 | 4.000 | 8.4857 | 1.7143 | 0.9429 | 1.3714 | 0.3429 | 0.7714 | 0.1714 |
| last_10 | 0.35 | 10 | 52.000 | 36.000 | 63.000 | 20.000 | 49.000 | 9.000 | 6.2308 | 1.5962 | 0.6923 | 1.2115 | 0.3846 | 0.9423 | 0.1731 |
| season | 0.20 | 18 | 95.100 | 51.000 | 97.000 | 38.000 | 92.000 | 13.000 | 4.8147 | 1.4161 | 0.5350 | 1.0175 | 0.3986 | 0.9650 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8400 |
| predicted_ER | 3.5940 |
| predicted_ERA | 6.4349 |
| predicted_H | 5.9560 |
| predicted_HR | 0.8120 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.4650 |
| predicted_WHIP | 1.5511 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.8400 | 1.0270 | model_form_blend |
| predicted_ER | 5.0000 | 3.5940 | 4.2152 | model_form_blend |
| predicted_ERA | - | 6.4349 | 6.4349 | form_only |
| predicted_H | 6.0000 | 5.9560 | 5.9754 | model_form_blend |
| predicted_HR | 2.0000 | 0.8120 | 1.3369 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 0.0000 | 4.4650 | 2.4921 | model_form_blend |
| predicted_WHIP | - | 1.5511 | 1.5511 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.0 |
| H | 6 |
| R | 5 |
| ER | 5 |
| BB | 0 |
| SO | 1 |
| HR | 2 |
| BF | 21 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 5 |
| Pitching_ERA | 4.81 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 3 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 91 |
| Pitching_R | 5 |
| Pitching_SO | 4 |
| Pitching_Strikes | 52 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260701_NYM@TOR |
| game_type | full |
| mlbID | 642547 |
| playerID | 642547 |
| playerName | Freddy Peralta |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.333 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 39.2 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 46.5 |
| sl_avg_best_speed | 76.393236084 |
| sl_avg_hyper_speed | 93.729406561 |
| 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.371 | 0.000 | -0.371 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.743 | 0.000 | 0.257 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.774 | 1.000 | 0.226 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 1.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "548384",
"player_name": "Brooks Raley",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 4.000 | 1.000 | 4.000 | 0.000 | 3.6000 | 1.0000 | 0.4000 | 0.8000 | 0.2000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 8.000 | 3.000 | 9.000 | 0.000 | 3.7241 | 1.1379 | 0.4138 | 0.8276 | 0.3103 | 0.9310 | 0.0000 |
| season | 0.20 | 35 | 32.000 | 8.000 | 26.000 | 13.000 | 35.000 | 2.000 | 2.2500 | 1.2188 | 0.2500 | 0.8125 | 0.4062 | 1.0938 | 0.0625 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3140 |
| predicted_ER | 0.4320 |
| predicted_ERA | 3.8860 |
| predicted_H | 0.8820 |
| predicted_HR | 0.0730 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9260 |
| predicted_WHIP | 1.1956 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3140 | 0.1456 | model_form_blend |
| predicted_ER | 0.0000 | 0.4320 | 0.2004 | model_form_blend |
| predicted_ERA | - | 3.8860 | 3.8860 | form_only |
| predicted_H | 1.0000 | 0.8820 | 0.9453 | model_form_blend |
| predicted_HR | 0.0000 | 0.0730 | 0.0339 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9260 | 0.9657 | model_form_blend |
| predicted_WHIP | - | 1.1956 | 1.1956 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 548384 |
| playerID | 548384 |
| playerName | Brooks Raley |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.291 |
| sl_xwoba | 0.299 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 30.2 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 75.55671122 |
| sl_avg_hyper_speed | 93.067391098 |
| 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.528 | 1.000 | -0.528 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.389 | 5.000 | -0.389 | -5.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.722 | 4.000 | -0.722 | -4.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.992 | 0.100 | 0.008 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.083 | 1.000 | -0.083 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623211",
"player_name": "Huascar Brazobán",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 6.000 | 7.000 | 3.000 | 7.000 | 1.000 | 10.1250 | 1.8750 | 1.1250 | 1.3125 | 0.5625 | 1.3125 | 0.1875 |
| last_10 | 0.35 | 10 | 11.100 | 6.000 | 7.000 | 6.000 | 15.000 | 1.000 | 4.7647 | 1.1471 | 0.5294 | 0.6177 | 0.5294 | 1.3235 | 0.0882 |
| season | 0.20 | 36 | 42.000 | 14.000 | 26.000 | 19.000 | 39.000 | 3.000 | 3.0000 | 1.0714 | 0.3333 | 0.6190 | 0.4524 | 0.9286 | 0.0714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4840 |
| predicted_ER | 0.6900 |
| predicted_ERA | 5.9659 |
| predicted_H | 0.9850 |
| predicted_HR | 0.1430 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1800 |
| predicted_WHIP | 1.4098 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4840 | 0.2379 | model_form_blend |
| predicted_ER | 0.0000 | 0.6900 | 0.3391 | model_form_blend |
| predicted_ERA | - | 5.9659 | 5.9659 | form_only |
| predicted_H | 0.0000 | 0.9850 | 0.4841 | model_form_blend |
| predicted_HR | 0.0000 | 0.1430 | 0.0703 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1800 | 1.0885 | model_form_blend |
| predicted_WHIP | - | 1.4098 | 1.4098 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 5 |
| Pitching_ERA | 3.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 20 |
| Pitching_R | 5 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 623211 |
| playerID | 623211 |
| playerName | Huascar Brazobán |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.255 |
| sl_xwoba | 0.261 |
| sl_sweet_spot_percent | 24.5 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 21.8 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 71.210228519 |
| sl_avg_hyper_speed | 91.833735093 |
| 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.257 | 0.000 | 0.743 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.571 | 0.000 | -0.571 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.997 | 1.000 | 0.003 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.171 | 2.000 | 0.829 | 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": "596133",
"player_name": "Luke Weaver",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 0.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 1.000 | 1.000 | 14.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.1000 | 0.1000 | 1.4000 | 0.0000 |
| season | 0.20 | 35 | 37.000 | 8.000 | 20.000 | 9.000 | 41.000 | 2.000 | 1.9459 | 0.7838 | 0.2162 | 0.5405 | 0.2432 | 1.1081 | 0.0541 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2480 |
| predicted_ER | 0.2300 |
| predicted_ERA | 2.0701 |
| predicted_H | 0.4780 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2380 |
| predicted_WHIP | 0.7262 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2480 | 0.6400 | model_form_blend |
| predicted_ER | 0.0000 | 0.2300 | 0.1101 | model_form_blend |
| predicted_ERA | - | 2.0701 | 2.0701 | form_only |
| predicted_H | 0.0000 | 0.4780 | 0.2288 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0321 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2380 | 1.6352 | model_form_blend |
| predicted_WHIP | - | 0.7262 | 0.7262 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 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 | 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 596133 |
| playerID | 596133 |
| playerName | Luke Weaver |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.202 |
| sl_xwoba | 0.254 |
| sl_sweet_spot_percent | 27.8 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 31.1 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 53.3 |
| sl_avg_best_speed | 77.934673182 |
| sl_avg_hyper_speed | 92.966133182 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.438 | 1.000 | -0.438 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.906 | 3.000 | -0.906 | -3.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.841 | 0.200 | -0.841 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.344 | 2.000 | -1.344 | -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": "642207",
"player_name": "Devin Williams",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 7.000 | 1.000 | 5.000 | 0.000 | 1.9286 | 1.7143 | 0.2143 | 1.5000 | 0.2143 | 1.0714 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 11.000 | 3.000 | 14.000 | 0.000 | 1.8000 | 1.4000 | 0.2000 | 1.1000 | 0.3000 | 1.4000 | 0.0000 |
| season | 0.20 | 31 | 29.000 | 12.000 | 28.000 | 13.000 | 43.000 | 2.000 | 3.7241 | 1.4138 | 0.4138 | 0.9655 | 0.4483 | 1.4828 | 0.0690 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2220 |
| predicted_ER | 0.2540 |
| predicted_ERA | 3.3096 |
| predicted_H | 0.7740 |
| predicted_HR | 0.0530 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7740 |
| predicted_WHIP | 1.4432 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2220 | 0.1007 | model_form_blend |
| predicted_ER | 0.0000 | 0.2540 | 0.1152 | model_form_blend |
| predicted_ERA | - | 3.3096 | 3.3096 | form_only |
| predicted_H | 0.0000 | 0.7740 | 0.3510 | model_form_blend |
| predicted_HR | 0.0000 | 0.0530 | 0.0240 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7740 | 0.8975 | model_form_blend |
| predicted_WHIP | - | 1.4432 | 1.4432 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| Pitches | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.34 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 642207 |
| playerID | 642207 |
| playerName | Devin Williams |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-07-05 |
| sl_k_percent | 32.6 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.322 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 26.0 |
| sl_whiff_percent | 37.0 |
| sl_swing_percent | 50.4 |
| sl_avg_best_speed | 78.131441389 |
| sl_avg_hyper_speed | 92.632528732 |
| Field | Value |
|---|---|
| Pitcher | Reynaldo López |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1205 |
| ESPN Rank | 196 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 3.3097 |
| Season WHIP | 1.2968 |
| Role Avg IP | 4.2380 |
| Recent Avg IP | 3.7330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"opponent": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"edges": {
"quality_edge": 0.4131,
"offense_edge": 0.0494,
"opponent_offense_edge": -0.1438,
"defense_strength": 0.2305,
"opponent_defense_weakness": -0.0019,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0292,
"run_prevention": 0.9333,
"strikeout": 1.0239
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "625643",
"profile": {
"available": true,
"pitcher_id": "625643",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 146.0,
"k_percent": 21.0,
"bb_percent": 10.0,
"woba": 0.31,
"xwoba": 0.331,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 35.6,
"avg_best_speed": 75.0817,
"avg_hyper_speed": 93.4128,
"whiff_percent": 21.7,
"swing_percent": 44.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.0998,
"command_and_miss": -0.3479,
"regression_edge": -0.6,
"xwoba_edge": -0.5143,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.4,
"whiff_edge": -0.5429,
"bb_edge": -0.275,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "625643",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1205,
"sample_weight": 0.584,
"run_prevention_factor": 1.0102,
"strikeout_factor": 0.982,
"walk_factor": 1.0128,
"homer_factor": 0.9872,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "625643",
"espn_id": 33860,
"player_name": "Reynaldo Lopez",
"team": "ATL",
"role": "pitcher",
"espn_rank": 196,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 196,
"gp_value": 20.0,
"gp_rank": 221,
"gs_value": 7.0,
"gs_rank": 156,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 3.3096,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 1.0,
"hld_rank": 210,
"ip_value": 51.2,
"ip_rank": 155,
"h_value": 45.0,
"h_rank": 156,
"er_value": 19.0,
"er_rank": 197,
"hr_value": 6.0,
"hr_rank": 171,
"bb_value": 22.0,
"bb_rank": 135,
"k_value": 46.0,
"k_rank": 170,
"k_per_9_value": 8.012903,
"k_per_9_rank": 29.0,
"whip_value": 1.2967,
"whip_rank": null,
"war_value": 0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.006,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.006,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0075,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9925,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9895,
"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": 7,
"H": 17,
"BB": 8,
"SO": 19,
"HR": 0,
"ERA": 2.953125,
"WHIP": 1.171875,
"K9": 8.015625,
"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": "625643",
"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.246,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6721,
"prior_weight": 0.3279
},
"role": "pitcher",
"player_id": "625643",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 14.0,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 4.0,
"SO": 12.0,
"HR": 0.0,
"BF": 53.0,
"Pitches": 238.0
},
"per_game": {
"IP": 2.2,
"ER": 0.4,
"R": 0.6,
"H": 1.6,
"BB": 0.8,
"SO": 2.4,
"HR": 0.0,
"BF": 10.6,
"Pitches": 47.6
},
"rates": {
"ERA": 1.2857,
"WHIP": 0.8571,
"ER_per_IP": 0.14286,
"H_per_IP": 0.57143,
"BB_per_IP": 0.28571,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 21.1,
"ER": 7.0,
"R": 8.0,
"H": 17.0,
"BB": 8.0,
"SO": 19.0,
"HR": 0.0,
"BF": 88.0,
"Pitches": 368.0
},
"per_game": {
"IP": 2.0,
"ER": 0.7,
"R": 0.8,
"H": 1.7,
"BB": 0.8,
"SO": 1.9,
"HR": 0.0,
"BF": 8.8,
"Pitches": 36.8
},
"rates": {
"ERA": 2.9531,
"WHIP": 1.1719,
"ER_per_IP": 0.32812,
"H_per_IP": 0.79688,
"BB_per_IP": 0.375,
"SO_per_IP": 0.89062,
"HR_per_IP": 0.0
}
},
"season": {
"games": 20,
"totals": {
"IP": 51.2,
"ER": 19.0,
"R": 23.0,
"H": 45.0,
"BB": 22.0,
"SO": 46.0,
"HR": 6.0,
"BF": 219.0,
"Pitches": 887.0
},
"per_game": {
"IP": 2.2,
"ER": 0.95,
"R": 1.15,
"H": 2.25,
"BB": 1.1,
"SO": 2.3,
"HR": 0.3,
"BF": 10.95,
"Pitches": 44.35
},
"rates": {
"ERA": 3.3097,
"WHIP": 1.2968,
"ER_per_IP": 0.36774,
"H_per_IP": 0.87097,
"BB_per_IP": 0.42581,
"SO_per_IP": 0.89032,
"HR_per_IP": 0.11613
}
}
},
"weighted_prediction": {
"predicted_IP": 3.1,
"predicted_ER": 1.097,
"predicted_H": 2.605,
"predicted_BB": 1.143,
"predicted_SO": 2.952,
"predicted_HR": 0.211,
"predicted_ERA": 3.016,
"predicted_WHIP": 1.1443
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4885,
"form_weight": 0.5115,
"form_reliability": 0.6721,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.246,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6721,
"prior_weight": 0.3279
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.097,
"final": 1.5381,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 2.605,
"final": 2.798,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.143,
"final": 1.5617,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 2.952,
"final": 3.464,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.211,
"final": 0.5965,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.016,
"final": 3.016,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1443,
"final": 1.1443,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.6008 |
| ESPN Rank | 57 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 1.6017 |
| Season WHIP | 0.6610 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"opponent": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"edges": {
"quality_edge": 0.4131,
"offense_edge": 0.0494,
"opponent_offense_edge": -0.1438,
"defense_strength": 0.2305,
"opponent_defense_weakness": -0.0019,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0292,
"run_prevention": 0.9333,
"strikeout": 1.0239
},
"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": 34.0,
"bb_percent": 3.5,
"woba": 0.186,
"xwoba": 0.211,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 28.9,
"avg_best_speed": 76.6726,
"avg_hyper_speed": 92.5441,
"whiff_percent": 39.2,
"swing_percent": 54.7
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.7279,
"command_and_miss": 1.6879,
"regression_edge": -0.7143,
"xwoba_edge": 2.5,
"barrel_edge": 0.6444,
"hard_hit_edge": 1.3571,
"whiff_edge": 1.9571,
"bb_edge": 1.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "669276",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.6008,
"sample_weight": 0.45,
"run_prevention_factor": 0.9489,
"strikeout_factor": 1.0645,
"walk_factor": 0.9514,
"homer_factor": 0.9186,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669276",
"espn_id": 41455,
"player_name": "Dylan Lee",
"team": "ATL",
"role": "pitcher",
"espn_rank": 57,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 57,
"gp_value": 41.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 1.6016,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 17.0,
"hld_rank": 6,
"ip_value": 39.1,
"ip_rank": 218,
"h_value": 21.0,
"h_rank": 377,
"er_value": 7.0,
"er_rank": 475,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 5.0,
"bb_rank": 513,
"k_value": 49.0,
"k_rank": 154,
"k_per_9_value": 11.211864,
"k_per_9_rank": 19.0,
"whip_value": 0.661,
"whip_rank": null,
"war_value": 1.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.977,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.977,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9781,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9634,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.029,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 3,
"H": 7,
"BB": 0,
"SO": 11,
"HR": 0,
"ERA": 3.1153846153846154,
"WHIP": 0.8076923076923077,
"K9": 11.423076923076923,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-04T00: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.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6094,
"prior_weight": 0.3906
},
"role": "pitcher",
"player_id": "669276",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 66.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.2
},
"rates": {
"ERA": 5.7857,
"WHIP": 0.8571,
"ER_per_IP": 0.64286,
"H_per_IP": 0.85714,
"BB_per_IP": 0.0,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 0.0,
"SO": 11.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 121.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.0,
"SO": 1.1,
"HR": 0.0,
"BF": 3.3,
"Pitches": 12.1
},
"rates": {
"ERA": 3.1154,
"WHIP": 0.8077,
"ER_per_IP": 0.34615,
"H_per_IP": 0.80769,
"BB_per_IP": 0.0,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.0
}
},
"season": {
"games": 41,
"totals": {
"IP": 39.1,
"ER": 7.0,
"R": 8.0,
"H": 21.0,
"BB": 5.0,
"SO": 49.0,
"HR": 1.0,
"BF": 144.0,
"Pitches": 574.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1707,
"R": 0.1951,
"H": 0.5122,
"BB": 0.122,
"SO": 1.1951,
"HR": 0.0244,
"BF": 3.5122,
"Pitches": 14.0
},
"rates": {
"ERA": 1.6017,
"WHIP": 0.661,
"ER_per_IP": 0.17797,
"H_per_IP": 0.5339,
"BB_per_IP": 0.12712,
"SO_per_IP": 1.24576,
"HR_per_IP": 0.02542
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.469,
"predicted_H": 0.851,
"predicted_BB": 0.155,
"predicted_SO": 1.207,
"predicted_HR": 0.061,
"predicted_ERA": 4.2183,
"predicted_WHIP": 1.0062
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.515,
"form_weight": 0.485,
"form_reliability": 0.6094,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6094,
"prior_weight": 0.3906
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.469,
"final": 0.7425,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.851,
"final": 1.4428,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.155,
"final": 0.5902,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.207,
"final": 0.5854,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0296,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2183,
"final": 4.2183,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0062,
"final": 1.0062,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.4411 |
| ESPN Rank | 92 |
| 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 | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.5341 |
| Season WHIP | 1.0568 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"opponent": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"edges": {
"quality_edge": 0.4131,
"offense_edge": 0.0494,
"opponent_offense_edge": -0.1438,
"defense_strength": 0.2305,
"opponent_defense_weakness": -0.0019,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0292,
"run_prevention": 0.9333,
"strikeout": 1.0239
},
"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.1,
"bb_percent": 5.3,
"woba": 0.258,
"xwoba": 0.245,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 31.6,
"avg_best_speed": 77.5282,
"avg_hyper_speed": 92.7932,
"whiff_percent": 30.3,
"swing_percent": 53.7
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.325,
"command_and_miss": 0.7736,
"regression_edge": 0.3714,
"xwoba_edge": 1.9429,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.9714,
"whiff_edge": 0.6857,
"bb_edge": 0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "628452",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4411,
"sample_weight": 0.45,
"run_prevention_factor": 0.9625,
"strikeout_factor": 1.0265,
"walk_factor": 0.9676,
"homer_factor": 0.9299,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "628452",
"espn_id": 33618,
"player_name": "Raisel Iglesias",
"team": "ATL",
"role": "pitcher",
"espn_rank": 92,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 92,
"gp_value": 28.0,
"gp_rank": 146,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 1.534,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 17.0,
"sv_rank": 10,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 29.1,
"ip_rank": 334,
"h_value": 25.0,
"h_rank": 333,
"er_value": 5.0,
"er_rank": 536,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 6.0,
"bb_rank": 471,
"k_value": 32.0,
"k_rank": 286,
"k_per_9_value": 9.818182,
"k_per_9_rank": 23.0,
"whip_value": 1.0568,
"whip_rank": null,
"war_value": 1.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9685,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0119,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 3,
"H": 11,
"BB": 3,
"SO": 10,
"HR": 1,
"ERA": 2.5312499999999996,
"WHIP": 1.3124999999999998,
"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-03T00: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.817,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5378,
"prior_weight": 0.4622
},
"role": "pitcher",
"player_id": "628452",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 1.0,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.6
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 5.0,
"H": 11.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 172.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.5,
"H": 1.1,
"BB": 0.3,
"SO": 1.0,
"HR": 0.1,
"BF": 4.3,
"Pitches": 17.2
},
"rates": {
"ERA": 2.5312,
"WHIP": 1.3125,
"ER_per_IP": 0.28125,
"H_per_IP": 1.03125,
"BB_per_IP": 0.28125,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 28,
"totals": {
"IP": 29.1,
"ER": 5.0,
"R": 7.0,
"H": 25.0,
"BB": 6.0,
"SO": 32.0,
"HR": 1.0,
"BF": 114.0,
"Pitches": 436.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1786,
"R": 0.25,
"H": 0.8929,
"BB": 0.2143,
"SO": 1.1429,
"HR": 0.0357,
"BF": 4.0714,
"Pitches": 15.5714
},
"rates": {
"ERA": 1.5341,
"WHIP": 1.0568,
"ER_per_IP": 0.17045,
"H_per_IP": 0.85227,
"BB_per_IP": 0.20455,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.03409
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.353,
"predicted_H": 0.976,
"predicted_BB": 0.24,
"predicted_SO": 0.928,
"predicted_HR": 0.09,
"predicted_ERA": 3.1739,
"predicted_WHIP": 1.216
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5453,
"form_weight": 0.4547,
"form_reliability": 0.5378,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.817,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5378,
"prior_weight": 0.4622
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.353,
"final": 0.1605,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.976,
"final": 1.5344,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.24,
"final": 0.1091,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.928,
"final": 0.422,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.09,
"final": 0.0409,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1739,
"final": 3.1739,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.216,
"final": 1.216,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.3237 |
| ESPN Rank | 246 |
| 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 | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.7340 |
| Season WHIP | 1.2128 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 97,
"wins": 57,
"losses": 40,
"win_pct": 0.5876,
"runs_scored": 461.0,
"runs_allowed": 357.0,
"run_differential": 104.0,
"run_differential_per_game": 1.0722,
"avg_runs_scored": 4.7526,
"avg_runs_allowed": 3.6804,
"offense_index": 1.0494,
"defense_index": 1.2305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.7,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1697
},
"opponent": {
"team": "NYM",
"games": 98,
"wins": 38,
"losses": 60,
"win_pct": 0.3878,
"runs_scored": 380.0,
"runs_allowed": 443.0,
"run_differential": -63.0,
"run_differential_per_game": -0.6429,
"avg_runs_scored": 3.8776,
"avg_runs_allowed": 4.5204,
"offense_index": 0.8562,
"defense_index": 1.0019,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.2434
},
"edges": {
"quality_edge": 0.4131,
"offense_edge": 0.0494,
"opponent_offense_edge": -0.1438,
"defense_strength": 0.2305,
"opponent_defense_weakness": -0.0019,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0292,
"run_prevention": 0.9333,
"strikeout": 1.0239
},
"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": 24.6,
"bb_percent": 8.5,
"woba": 0.311,
"xwoba": 0.268,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 25.6,
"avg_best_speed": 72.4377,
"avg_hyper_speed": 92.2685,
"whiff_percent": 27.7,
"swing_percent": 45.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.9453,
"command_and_miss": 0.2586,
"regression_edge": 1.2286,
"xwoba_edge": 1.2857,
"barrel_edge": 0.3111,
"hard_hit_edge": 1.8286,
"whiff_edge": 0.3143,
"bb_edge": 0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641755",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3237,
"sample_weight": 0.45,
"run_prevention_factor": 0.9725,
"strikeout_factor": 1.0108,
"walk_factor": 0.9964,
"homer_factor": 0.9385,
"woba_minus_xwoba": 0.043,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "641755",
"espn_id": 34166,
"player_name": "Tyler Kinley",
"team": "ATL",
"role": "pitcher",
"espn_rank": 246,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 246,
"gp_value": 35.0,
"gp_rank": 73,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.734,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 9.0,
"hld_rank": 49,
"ip_value": 31.1,
"ip_rank": 310,
"h_value": 27.0,
"h_rank": 306,
"er_value": 13.0,
"er_rank": 313,
"hr_value": 6.0,
"hr_rank": 171,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 32.0,
"k_rank": 286,
"k_per_9_value": 9.191489,
"k_per_9_rank": 24.0,
"whip_value": 1.2127,
"whip_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9876,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9876,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9984,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9723,
"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": 8.2,
"ER": 4,
"H": 8,
"BB": 2,
"SO": 7,
"HR": 2,
"ERA": 4.153846153846154,
"WHIP": 1.153846153846154,
"K9": 7.26923076923077,
"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-05T00: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": 6.214,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5541,
"prior_weight": 0.4459
},
"role": "pitcher",
"player_id": "641755",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 14.0,
"Pitches": 57.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.4,
"SO": 0.2,
"HR": 0.2,
"BF": 2.8,
"Pitches": 11.4
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.3636,
"ER_per_IP": 0.81818,
"H_per_IP": 0.81818,
"BB_per_IP": 0.54545,
"SO_per_IP": 0.27273,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 2.0,
"SO": 7.0,
"HR": 2.0,
"BF": 34.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.2,
"SO": 0.7,
"HR": 0.2,
"BF": 3.4,
"Pitches": 13.2
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1538,
"ER_per_IP": 0.46154,
"H_per_IP": 0.92308,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 35,
"totals": {
"IP": 31.1,
"ER": 13.0,
"R": 14.0,
"H": 27.0,
"BB": 11.0,
"SO": 32.0,
"HR": 6.0,
"BF": 130.0,
"Pitches": 507.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3714,
"R": 0.4,
"H": 0.7714,
"BB": 0.3143,
"SO": 0.9143,
"HR": 0.1714,
"BF": 3.7143,
"Pitches": 14.4857
},
"rates": {
"ERA": 3.734,
"WHIP": 1.2128,
"ER_per_IP": 0.41489,
"H_per_IP": 0.8617,
"BB_per_IP": 0.35106,
"SO_per_IP": 1.02128,
"HR_per_IP": 0.19149
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.433,
"predicted_H": 0.7,
"predicted_BB": 0.291,
"predicted_SO": 0.586,
"predicted_HR": 0.154,
"predicted_ERA": 5.0783,
"predicted_WHIP": 1.2899
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5384,
"form_weight": 0.4616,
"form_reliability": 0.5541,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.214,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5541,
"prior_weight": 0.4459
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.433,
"final": 0.1999,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.7,
"final": 1.3999,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.291,
"final": 0.1343,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.586,
"final": 0.8089,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.154,
"final": 0.0711,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0783,
"final": 5.0783,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2899,
"final": 1.2899,
"source": "form_only"
}
}
}{
"available": false,
"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.258 | 0.000 | 0.000 | Hitting_2B | 0.321 | 1.000 | -0.321 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.170 | 4.000 | 4.000 | Hitting_AB | 3.886 | 5.000 | 0.114 | -1.000 |
| predicted_AVG | 0.245 | 0.250 | 0.250 | Hitting_AVG | 0.272 | 0.200 | -0.022 | 0.050 |
| predicted_BB | 0.416 | 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.020 | 1.000 | 1.000 | Hitting_H | 1.057 | 1.000 | -0.057 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.268 | 0.000 | -0.268 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.250 | Hitting_OBP | 0.353 | 0.200 | -0.103 | 0.050 |
| predicted_R | 0.663 | 1.000 | 1.000 | Hitting_R | 0.736 | 1.000 | 0.264 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.746 | 0.000 | -0.746 | 0.000 |
| predicted_SLG | 0.488 | 0.250 | 0.250 | Hitting_SLG | 0.562 | 0.400 | -0.312 | -0.150 |
| predicted_SO | 1.011 | 2.000 | 1.000 | Hitting_SO | 0.996 | 2.000 | 1.004 | 0.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.0110 -> 2.0000 (boost 0.9890, worse) |
| Biggest Deboost | predicted_RBI: 0.5100 -> 0.0000 (deboost -0.5100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4880 -> 0.5052 (boost 0.0172, better) | predicted_AB: 4.1700 -> 4.0589 (deboost -0.1111, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2519 -> 0.2575 (boost 0.0056, better) | - | 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.5230 -> 1.0000 (boost 0.4770, better) | predicted_BB: 0.4068 -> 0.0000 (deboost -0.4068, worse) | AB rounded to 4 (raw=4.17), rates preserved: AVG=0.251 HR/AB=0.058 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7103 -> 1.0000 (boost 0.2897, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5016 -> 0.2500 (deboost -0.2516, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5016 (boost 0.2516, 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.258,
"predicted_3B": 0.0,
"predicted_AB": 4.17,
"predicted_AVG": 0.245,
"predicted_BB": 0.416,
"predicted_H": 1.02,
"predicted_HR": 0.22,
"predicted_OBP": 0.321,
"predicted_R": 0.663,
"predicted_RBI": 0.51,
"predicted_SLG": 0.488,
"predicted_SO": 1.011
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2623,
"predicted_3B": 0.0004,
"predicted_AB": 4.0589,
"predicted_AVG": 0.2519,
"predicted_BB": 0.401,
"predicted_H": 1.0204,
"predicted_HBP": 0.009,
"predicted_HR": 0.2363,
"predicted_OBP": 0.3235,
"predicted_R": 0.6793,
"predicted_RBI": 0.5001,
"predicted_SLG": 0.5052,
"predicted_SO": 1.02
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.258,
"after": 0.2623,
"delta": 0.0043,
"percent_delta": 0.0167,
"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.17,
"after": 4.0589,
"delta": -0.1111,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2519,
"delta": 0.0069,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.401,
"delta": -0.015,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0204,
"delta": 0.0004,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2363,
"delta": 0.0163,
"percent_delta": 0.0741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3235,
"delta": 0.0025,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.663,
"after": 0.6793,
"delta": 0.0163,
"percent_delta": 0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5001,
"delta": -0.0099,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5052,
"delta": 0.0172,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.011,
"after": 1.02,
"delta": 0.009,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_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.488,
"after": 0.5052,
"delta": 0.0172,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0589,
"delta": -0.1111,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2623,
"predicted_3B": 0.0004,
"predicted_AB": 4.0589,
"predicted_AVG": 0.2575,
"predicted_BB": 0.4068,
"predicted_H": 1.0452,
"predicted_HBP": 0.009,
"predicted_HR": 0.2425,
"predicted_OBP": 0.3251,
"predicted_R": 0.7103,
"predicted_RBI": 0.523,
"predicted_SLG": 0.5016,
"predicted_SO": 1.0053
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2623,
"after": 0.2623,
"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.0589,
"after": 4.0589,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2519,
"after": 0.2575,
"delta": 0.0056,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.401,
"after": 0.4068,
"delta": 0.0058,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0204,
"after": 1.0452,
"delta": 0.0248,
"percent_delta": 0.0243,
"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.2363,
"after": 0.2425,
"delta": 0.0062,
"percent_delta": 0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3235,
"after": 0.3251,
"delta": 0.0016,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6793,
"after": 0.7103,
"delta": 0.031,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5001,
"after": 0.523,
"delta": 0.0229,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5052,
"after": 0.5016,
"delta": -0.0036,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.02,
"after": 1.0053,
"delta": -0.0147,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2519,
"after": 0.2575,
"delta": 0.0056,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.17), rates preserved: AVG=0.251 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.2623,
"after": 0.0,
"delta": -0.2623,
"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.0589,
"after": 4.0,
"delta": -0.0589,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4068,
"after": 0.0,
"delta": -0.4068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0452,
"after": 1.0,
"delta": -0.0452,
"percent_delta": -0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2425,
"after": 0.0,
"delta": -0.2425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.523,
"after": 1.0,
"delta": 0.477,
"percent_delta": 0.912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0053,
"after": 1.0,
"delta": -0.0053,
"percent_delta": -0.0053,
"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.523,
"after": 1.0,
"delta": 0.477,
"percent_delta": 0.912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4068,
"after": 0.0,
"delta": -0.4068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)",
"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.8791,
"bvp": 0.1209
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.7103,
"after": 1.0,
"delta": 0.2897,
"percent_delta": 0.4079,
"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.7103,
"after": 1.0,
"delta": 0.2897,
"percent_delta": 0.4079,
"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.2575,
"after": 0.25,
"delta": -0.0075,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3251,
"after": 0.25,
"delta": -0.0751,
"percent_delta": -0.231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5016,
"after": 0.25,
"delta": -0.2516,
"percent_delta": -0.5016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5016,
"after": 0.25,
"delta": -0.2516,
"percent_delta": -0.5016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2575,
"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.3251,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5016,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2575,
"delta": 0.0075,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3251,
"delta": 0.0751,
"percent_delta": 0.3006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5016,
"delta": 0.2516,
"percent_delta": 1.0064,
"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.5016,
"delta": 0.2516,
"percent_delta": 1.0064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.258,
"after": 0.0,
"delta": -0.258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0,
"delta": -0.17,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2575,
"delta": 0.0125,
"percent_delta": 0.051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.321,
"after": 0.3251,
"delta": 0.0041,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.663,
"after": 1.0,
"delta": 0.337,
"percent_delta": 0.5083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5016,
"delta": 0.0136,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.011,
"after": 2.0,
"delta": 0.989,
"percent_delta": 0.9782,
"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.011,
"after": 2.0,
"delta": 0.989,
"percent_delta": 0.9782,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.258 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.170 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.663 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.488 | - |
| predicted_SO | 1.011 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.059 | -0.111 |
| predicted_AVG | 0.252 | 0.007 |
| predicted_BB | 0.401 | -0.015 |
| predicted_H | 1.020 | 0.000 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.236 | 0.016 |
| predicted_OBP | 0.324 | 0.003 |
| predicted_R | 0.679 | 0.016 |
| predicted_RBI | 0.500 | -0.010 |
| predicted_SLG | 0.505 | 0.017 |
| predicted_SO | 1.020 | 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.262 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.059 | 0.000 |
| predicted_AVG | 0.258 | 0.006 |
| predicted_BB | 0.407 | 0.006 |
| predicted_H | 1.045 | 0.025 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.242 | 0.006 |
| predicted_OBP | 0.325 | 0.002 |
| predicted_R | 0.710 | 0.031 |
| predicted_RBI | 0.523 | 0.023 |
| predicted_SLG | 0.502 | -0.004 |
| predicted_SO | 1.005 | -0.015 |
AB rounded to 4 (raw=4.17), rates preserved: AVG=0.251 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 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)
| 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.262 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.059 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.407 |
| predicted_H | 1.000 | -0.045 |
| predicted_HR | 0.000 | -0.242 |
| predicted_OBP | 0.250 | -0.075 |
| predicted_R | 1.000 | 0.290 |
| predicted_RBI | 1.000 | 0.477 |
| predicted_SLG | 0.250 | -0.252 |
| predicted_SO | 1.000 | -0.005 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 2.000 | 2.000 | 5.000 | 2.000 | 5.000 | 0.2000 | 0.2727 | 0.5500 | 0.2000 | 0.1000 | 0.1000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 4.000 | 0.000 | 2.000 | 2.000 | 6.000 | 3.000 | 12.000 | 0.3000 | 0.3488 | 0.5500 | 0.3000 | 0.0500 | 0.0500 | 0.0750 | 0.3000 |
| season | 0.60 | 89 | - | 344.000 | 93.000 | 23.000 | 0.000 | 22.000 | 54.000 | 59.000 | 37.000 | 90.000 | 0.2703 | 0.3403 | 0.5291 | 0.2703 | 0.0640 | 0.1570 | 0.1076 | 0.2616 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2680 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9110 |
| predicted_AVG | 0.2612 |
| predicted_BB | 0.3810 |
| predicted_H | 1.0210 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2580 |
| predicted_OBP | 0.3269 |
| predicted_R | 0.7010 |
| predicted_RBI | 0.4870 |
| predicted_SLG | 0.5282 |
| predicted_SO | 1.0320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2580 | 0.2680 | 0.2623 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1700 | 3.9110 | 4.0589 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2612 | 0.2519 | model_form_blend |
| predicted_BB | 0.4160 | 0.3810 | 0.4010 | model_form_blend |
| predicted_H | 1.0200 | 1.0210 | 1.0204 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.2200 | 0.2580 | 0.2363 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3269 | 0.3235 | model_form_blend |
| predicted_R | 0.6630 | 0.7010 | 0.6793 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4870 | 0.5001 | model_form_blend |
| predicted_SLG | 0.4880 | 0.5282 | 0.5052 | model_form_blend |
| predicted_SO | 1.0110 | 1.0320 | 1.0200 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 280 |
| Season rows before report date | 280 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260705_NYM@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-05 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.372 |
| sl_xwoba | 0.364 |
| sl_xba | 0.257 |
| sl_xslg | 0.521 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 13.7 |
| sl_hard_hit_percent | 51.4 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 18.0 |
| sl_whiff_percent | 24.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.191 | 0.000 | 0.000 | Hitting_2B | 0.181 | 1.000 | -0.181 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.180 | 4.000 | 4.000 | Hitting_AB | 3.884 | 5.000 | 0.116 | -1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.276 | 0.200 | -0.276 | -0.200 |
| predicted_BB | 0.292 | 0.000 | 0.000 | Hitting_BB | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 1.010 | 0.000 | 1.000 | Hitting_H | 1.072 | 1.000 | -1.072 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.250 | Hitting_OBP | 0.333 | 0.200 | -0.333 | -0.200 |
| predicted_R | 0.640 | 0.000 | 1.000 | Hitting_R | 0.656 | 1.000 | -0.656 | -1.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.543 | 0.000 | -0.543 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_SLG | 0.440 | 0.000 | 0.250 | Hitting_SLG | 0.446 | 0.400 | -0.446 | -0.400 |
| predicted_SO | 0.506 | 0.000 | 1.000 | Hitting_SO | 0.536 | 2.000 | -0.536 | -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_AVG: 0.2410 -> 0.2509 (boost 0.0099, 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 | 3 | 2 | 1 | 1 | 2 | predicted_SO: 0.5060 -> 0.5613 (boost 0.0553, worse) | predicted_AB: 4.1800 -> 4.0699 (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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2448 -> 0.2509 (boost 0.0061, better) | predicted_SLG: 0.4568 -> 0.4435 (deboost -0.0133, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.5532 -> 1.0000 (boost 0.4468, worse) | predicted_BB: 0.2966 -> 0.0000 (deboost -0.2966, worse) | AB rounded to 4 (raw=4.18), rates preserved: AVG=0.244 HR/AB=0.044 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.056) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7051 -> 1.0000 (boost 0.2949, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4435 -> 0.2500 (deboost -0.1935, 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.4435 (boost 0.1935, 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.191,
"predicted_3B": 0.0,
"predicted_AB": 4.18,
"predicted_AVG": 0.241,
"predicted_BB": 0.292,
"predicted_H": 1.01,
"predicted_HR": 0.16,
"predicted_OBP": 0.301,
"predicted_R": 0.64,
"predicted_RBI": 0.55,
"predicted_SLG": 0.44,
"predicted_SO": 0.506
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0004,
"predicted_AB": 4.0699,
"predicted_AVG": 0.2448,
"predicted_BB": 0.2924,
"predicted_H": 0.9971,
"predicted_HBP": 0.028,
"predicted_HR": 0.1797,
"predicted_OBP": 0.3004,
"predicted_R": 0.6743,
"predicted_RBI": 0.5637,
"predicted_SLG": 0.4568,
"predicted_SO": 0.5613
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.2296,
"delta": 0.0386,
"percent_delta": 0.2021,
"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.18,
"after": 4.0699,
"delta": -0.1101,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2448,
"delta": 0.0038,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.2924,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.9971,
"delta": -0.0129,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1797,
"delta": 0.0197,
"percent_delta": 0.1231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3004,
"delta": -0.0006,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.64,
"after": 0.6743,
"delta": 0.0343,
"percent_delta": 0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5637,
"delta": 0.0137,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4568,
"delta": 0.0168,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.506,
"after": 0.5613,
"delta": 0.0553,
"percent_delta": 0.1093,
"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.506,
"after": 0.5613,
"delta": 0.0553,
"percent_delta": 0.1093,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.18,
"after": 4.0699,
"delta": -0.1101,
"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": 89
}
},
{
"index": 3,
"step": "team_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.0004,
"predicted_AB": 4.0699,
"predicted_AVG": 0.2509,
"predicted_BB": 0.2966,
"predicted_H": 1.0213,
"predicted_HBP": 0.028,
"predicted_HR": 0.1844,
"predicted_OBP": 0.3018,
"predicted_R": 0.7051,
"predicted_RBI": 0.5895,
"predicted_SLG": 0.4435,
"predicted_SO": 0.5532
},
"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.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0699,
"after": 4.0699,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2448,
"after": 0.2509,
"delta": 0.0061,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2924,
"after": 0.2966,
"delta": 0.0042,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9971,
"after": 1.0213,
"delta": 0.0242,
"percent_delta": 0.0243,
"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.1797,
"after": 0.1844,
"delta": 0.0047,
"percent_delta": 0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3004,
"after": 0.3018,
"delta": 0.0014,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6743,
"after": 0.7051,
"delta": 0.0308,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5637,
"after": 0.5895,
"delta": 0.0258,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4568,
"after": 0.4435,
"delta": -0.0133,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5613,
"after": 0.5532,
"delta": -0.0081,
"percent_delta": -0.0144,
"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.2448,
"after": 0.2509,
"delta": 0.0061,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4568,
"after": 0.4435,
"delta": -0.0133,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.18), rates preserved: AVG=0.244 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": 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.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0699,
"after": 4.0,
"delta": -0.0699,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2966,
"after": 0.0,
"delta": -0.2966,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0213,
"after": 1.0,
"delta": -0.0213,
"percent_delta": -0.0209,
"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.1844,
"after": 0.0,
"delta": -0.1844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5895,
"after": 1.0,
"delta": 0.4105,
"percent_delta": 0.6964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5532,
"after": 1.0,
"delta": 0.4468,
"percent_delta": 0.8077,
"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.5532,
"after": 1.0,
"delta": 0.4468,
"percent_delta": 0.8077,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2966,
"after": 0.0,
"delta": -0.2966,
"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.056)",
"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.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": 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.7051,
"after": 1.0,
"delta": 0.2949,
"percent_delta": 0.4182,
"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.7051,
"after": 1.0,
"delta": 0.2949,
"percent_delta": 0.4182,
"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.2509,
"after": 0.25,
"delta": -0.0009,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3018,
"after": 0.25,
"delta": -0.0518,
"percent_delta": -0.1716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4435,
"after": 0.25,
"delta": -0.1935,
"percent_delta": -0.4363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4435,
"after": 0.25,
"delta": -0.1935,
"percent_delta": -0.4363,
"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.2509,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3018,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4435,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2509,
"delta": 0.0009,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3018,
"delta": 0.0518,
"percent_delta": 0.2073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4435,
"delta": 0.1935,
"percent_delta": 0.7741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.4435,
"delta": 0.1935,
"percent_delta": 0.7741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 4.0,
"delta": -0.18,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2509,
"delta": 0.0099,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"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": 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.301,
"after": 0.3018,
"delta": 0.0008,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"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.44,
"after": 0.4435,
"delta": 0.0035,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.506,
"after": 0.0,
"delta": -0.506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2509,
"delta": 0.0099,
"percent_delta": 0.0411,
"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.191 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.180 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.640 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.506 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.039 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.070 | -0.110 |
| predicted_AVG | 0.245 | 0.004 |
| predicted_BB | 0.292 | 0.000 |
| predicted_H | 0.997 | -0.013 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.180 | 0.020 |
| predicted_OBP | 0.300 | -0.001 |
| predicted_R | 0.674 | 0.034 |
| predicted_RBI | 0.564 | 0.014 |
| predicted_SLG | 0.457 | 0.017 |
| predicted_SO | 0.561 | 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.230 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.070 | 0.000 |
| predicted_AVG | 0.251 | 0.006 |
| predicted_BB | 0.297 | 0.004 |
| predicted_H | 1.021 | 0.024 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.184 | 0.005 |
| predicted_OBP | 0.302 | 0.001 |
| predicted_R | 0.705 | 0.031 |
| predicted_RBI | 0.590 | 0.026 |
| predicted_SLG | 0.444 | -0.013 |
| predicted_SO | 0.553 | -0.008 |
AB rounded to 4 (raw=4.18), rates preserved: AVG=0.244 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.056)
| 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.230 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.070 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.297 |
| predicted_H | 1.000 | -0.021 |
| predicted_HR | 0.000 | -0.184 |
| predicted_OBP | 0.250 | -0.052 |
| predicted_R | 1.000 | 0.295 |
| predicted_RBI | 1.000 | 0.410 |
| predicted_SLG | 0.250 | -0.194 |
| predicted_SO | 1.000 | 0.447 |
Attached simulation box 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 | 5.000 | 3.000 | 0.000 | 2.000 | 3.000 | 6.000 | 2.000 | 5.000 | 0.2381 | 0.3043 | 0.6667 | 0.2381 | 0.0952 | 0.1429 | 0.0952 | 0.2381 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 3.000 | 0.000 | 2.000 | 7.000 | 6.000 | 2.000 | 6.000 | 0.2000 | 0.2273 | 0.4250 | 0.2000 | 0.0500 | 0.1750 | 0.0500 | 0.1500 |
| season | 0.60 | 89 | - | 340.000 | 92.000 | 17.000 | 0.000 | 14.000 | 49.000 | 57.000 | 26.000 | 45.000 | 0.2706 | 0.3211 | 0.4441 | 0.2706 | 0.0412 | 0.1441 | 0.0765 | 0.1323 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2810 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9230 |
| predicted_AVG | 0.2498 |
| predicted_BB | 0.2930 |
| predicted_H | 0.9800 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.2060 |
| predicted_OBP | 0.2995 |
| predicted_R | 0.7200 |
| predicted_RBI | 0.5820 |
| predicted_SLG | 0.4793 |
| predicted_SO | 0.6350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.2810 | 0.2296 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1800 | 3.9230 | 4.0699 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2498 | 0.2448 | model_form_blend |
| predicted_BB | 0.2920 | 0.2930 | 0.2924 | model_form_blend |
| predicted_H | 1.0100 | 0.9800 | 0.9971 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1600 | 0.2060 | 0.1797 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2995 | 0.3004 | model_form_blend |
| predicted_R | 0.6400 | 0.7200 | 0.6743 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5820 | 0.5637 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4793 | 0.4568 | model_form_blend |
| predicted_SO | 0.5060 | 0.6350 | 0.5613 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 2B |
| gameID | 20260705_NYM@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-05 |
| sl_k_percent | 11.9 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.33 |
| sl_xwoba | 0.298 |
| sl_xba | 0.249 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 27.6 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 55.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.159 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.070 | 4.000 | 4.000 | Hitting_AB | 3.860 | 5.000 | 0.140 | -1.000 |
| predicted_AVG | 0.270 | 0.250 | 0.250 | Hitting_AVG | 0.300 | 0.400 | -0.050 | -0.150 |
| predicted_BB | 0.171 | 0.000 | 0.000 | Hitting_BB | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 1.100 | 1.000 | 1.000 | Hitting_H | 1.157 | 2.000 | -0.157 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_OBP | 0.329 | 0.250 | 0.250 | Hitting_OBP | 0.325 | 0.400 | -0.075 | -0.150 |
| predicted_R | 0.524 | 1.000 | 1.000 | Hitting_R | 0.550 | 1.000 | 0.450 | 0.000 |
| predicted_RBI | 0.730 | 1.000 | 1.000 | Hitting_RBI | 0.659 | 3.000 | 0.341 | -2.000 |
| predicted_SLG | 0.480 | 0.250 | 0.250 | Hitting_SLG | 0.525 | 0.400 | -0.275 | -0.150 |
| predicted_SO | 0.780 | 1.000 | 1.000 | Hitting_SO | 0.769 | 2.000 | 0.231 | -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_R: 0.5240 -> 1.0000 (boost 0.4760, better) |
| Biggest Deboost | predicted_HR: 0.2000 -> 0.0000 (deboost -0.2000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2700 -> 0.2865 (boost 0.0165, better) | predicted_AB: 4.0700 -> 3.9901 (deboost -0.0799, worse) | Final model input calibrated with local 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.2865 -> 0.2932 (boost 0.0067, better) | predicted_OBP: 0.3333 -> 0.3229 (deboost -0.0104, 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.7759 -> 1.0000 (boost 0.2241, worse) | predicted_HR: 0.2162 -> 0.0000 (deboost -0.2162, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.287 HR/AB=0.053 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5804 -> 1.0000 (boost 0.4196, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4903 -> 0.2500 (deboost -0.2403, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4903 (boost 0.2403, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.159,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.27,
"predicted_BB": 0.171,
"predicted_H": 1.1,
"predicted_HR": 0.2,
"predicted_OBP": 0.329,
"predicted_R": 0.524,
"predicted_RBI": 0.73,
"predicted_SLG": 0.48,
"predicted_SO": 0.78
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1373,
"predicted_3B": 0.0004,
"predicted_AB": 3.9901,
"predicted_AVG": 0.2865,
"predicted_BB": 0.1727,
"predicted_H": 1.1421,
"predicted_HBP": 0.01,
"predicted_HR": 0.2106,
"predicted_OBP": 0.3333,
"predicted_R": 0.555,
"predicted_RBI": 0.7682,
"predicted_SLG": 0.4931,
"predicted_SO": 0.7872
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.1373,
"delta": -0.0217,
"percent_delta": -0.1365,
"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": 3.9901,
"delta": -0.0799,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2865,
"delta": 0.0165,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.1727,
"delta": 0.0017,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.1421,
"delta": 0.0421,
"percent_delta": 0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2106,
"delta": 0.0106,
"percent_delta": 0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3333,
"delta": 0.0043,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 0.555,
"delta": 0.031,
"percent_delta": 0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.7682,
"delta": 0.0382,
"percent_delta": 0.0523,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4931,
"delta": 0.0131,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 0.7872,
"delta": 0.0072,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2865,
"delta": 0.0165,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9901,
"delta": -0.0799,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.1373,
"predicted_3B": 0.0004,
"predicted_AB": 3.9901,
"predicted_AVG": 0.2932,
"predicted_BB": 0.1752,
"predicted_H": 1.1699,
"predicted_HBP": 0.01,
"predicted_HR": 0.2162,
"predicted_OBP": 0.3229,
"predicted_R": 0.5804,
"predicted_RBI": 0.8033,
"predicted_SLG": 0.4903,
"predicted_SO": 0.7759
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1373,
"after": 0.1373,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9901,
"after": 3.9901,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2865,
"after": 0.2932,
"delta": 0.0067,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1727,
"after": 0.1752,
"delta": 0.0025,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1421,
"after": 1.1699,
"delta": 0.0278,
"percent_delta": 0.0243,
"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.2106,
"after": 0.2162,
"delta": 0.0056,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.3229,
"delta": -0.0104,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.555,
"after": 0.5804,
"delta": 0.0254,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7682,
"after": 0.8033,
"delta": 0.0351,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4931,
"after": 0.4903,
"delta": -0.0028,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7872,
"after": 0.7759,
"delta": -0.0113,
"percent_delta": -0.0144,
"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.2865,
"after": 0.2932,
"delta": 0.0067,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.3229,
"delta": -0.0104,
"percent_delta": -0.0312,
"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.287 HR/AB=0.053",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1373,
"after": 0.0,
"delta": -0.1373,
"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.9901,
"after": 4.0,
"delta": 0.0099,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1752,
"after": 0.0,
"delta": -0.1752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1699,
"after": 1.0,
"delta": -0.1699,
"percent_delta": -0.1452,
"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.2162,
"after": 0.0,
"delta": -0.2162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8033,
"after": 1.0,
"delta": 0.1967,
"percent_delta": 0.2449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7759,
"after": 1.0,
"delta": 0.2241,
"percent_delta": 0.2888,
"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.7759,
"after": 1.0,
"delta": 0.2241,
"percent_delta": 0.2888,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2162,
"after": 0.0,
"delta": -0.2162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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.5804,
"after": 1.0,
"delta": 0.4196,
"percent_delta": 0.7229,
"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.5804,
"after": 1.0,
"delta": 0.4196,
"percent_delta": 0.7229,
"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.2932,
"after": 0.25,
"delta": -0.0432,
"percent_delta": -0.1473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3229,
"after": 0.25,
"delta": -0.0729,
"percent_delta": -0.2258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4903,
"after": 0.25,
"delta": -0.2403,
"percent_delta": -0.4901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4903,
"after": 0.25,
"delta": -0.2403,
"percent_delta": -0.4901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"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.2932,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3229,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4903,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2932,
"delta": 0.0432,
"percent_delta": 0.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3229,
"delta": 0.0729,
"percent_delta": 0.2917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4903,
"delta": 0.2403,
"percent_delta": 0.9613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4903,
"delta": 0.2403,
"percent_delta": 0.9613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.07,
"after": 4.0,
"delta": -0.07,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2932,
"delta": 0.0232,
"percent_delta": 0.0859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0,
"delta": -0.1,
"percent_delta": -0.0909,
"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.329,
"after": 0.3229,
"delta": -0.0061,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 1.0,
"delta": 0.476,
"percent_delta": 0.9084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4903,
"delta": 0.0103,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.524,
"after": 1.0,
"delta": 0.476,
"percent_delta": 0.9084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.171 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.524 | - |
| predicted_RBI | 0.730 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 0.780 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.137 | -0.022 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.990 | -0.080 |
| predicted_AVG | 0.286 | 0.016 |
| predicted_BB | 0.173 | 0.002 |
| predicted_H | 1.142 | 0.042 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.211 | 0.011 |
| predicted_OBP | 0.333 | 0.004 |
| predicted_R | 0.555 | 0.031 |
| predicted_RBI | 0.768 | 0.038 |
| predicted_SLG | 0.493 | 0.013 |
| predicted_SO | 0.787 | 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.137 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.990 | 0.000 |
| predicted_AVG | 0.293 | 0.007 |
| predicted_BB | 0.175 | 0.003 |
| predicted_H | 1.170 | 0.028 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.216 | 0.006 |
| predicted_OBP | 0.323 | -0.010 |
| predicted_R | 0.580 | 0.025 |
| predicted_RBI | 0.803 | 0.035 |
| predicted_SLG | 0.490 | -0.003 |
| predicted_SO | 0.776 | -0.011 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.287 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.000 |
| predicted_AB | 4.000 | 0.010 |
| predicted_AVG | 0.250 | -0.043 |
| predicted_BB | 0.000 | -0.175 |
| predicted_H | 1.000 | -0.170 |
| predicted_HR | 0.000 | -0.216 |
| predicted_OBP | 0.250 | -0.073 |
| predicted_R | 1.000 | 0.420 |
| predicted_RBI | 1.000 | 0.197 |
| predicted_SLG | 0.250 | -0.240 |
| predicted_SO | 1.000 | 0.224 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 22.000 | 9.000 | 0.000 | 0.000 | 2.000 | 8.000 | 5.000 | 0.000 | 4.000 | 0.4091 | 0.4091 | 0.6818 | 0.4091 | 0.0909 | 0.3636 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 0.000 | 0.000 | 2.000 | 9.000 | 5.000 | 3.000 | 8.000 | 0.2500 | 0.2955 | 0.4000 | 0.2500 | 0.0500 | 0.2250 | 0.0750 | 0.2000 |
| season | 0.60 | 82 | - | 302.000 | 92.000 | 13.000 | 0.000 | 16.000 | 51.000 | 43.000 | 14.000 | 64.000 | 0.3046 | 0.3354 | 0.5066 | 0.3046 | 0.0530 | 0.1689 | 0.0464 | 0.2119 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8820 |
| predicted_AVG | 0.3089 |
| predicted_BB | 0.1750 |
| predicted_H | 1.1990 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.2250 |
| predicted_OBP | 0.3391 |
| predicted_R | 0.5970 |
| predicted_RBI | 0.8200 |
| predicted_SLG | 0.5108 |
| predicted_SO | 0.7970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1080 | 0.1373 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0700 | 3.8820 | 3.9901 | model_form_blend |
| predicted_AVG | 0.2700 | 0.3089 | 0.2865 | model_form_blend |
| predicted_BB | 0.1710 | 0.1750 | 0.1727 | model_form_blend |
| predicted_H | 1.1000 | 1.1990 | 1.1421 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.2000 | 0.2250 | 0.2106 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3391 | 0.3333 | model_form_blend |
| predicted_R | 0.5240 | 0.5970 | 0.5550 | model_form_blend |
| predicted_RBI | 0.7300 | 0.8200 | 0.7682 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5108 | 0.4931 | model_form_blend |
| predicted_SO | 0.7800 | 0.7970 | 0.7872 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.305 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_NYM@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-05 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.362 |
| sl_xwoba | 0.374 |
| sl_xba | 0.305 |
| sl_xslg | 0.53 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 13.9 |
| sl_hard_hit_percent | 50.6 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 55.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.091 | 0.000 | 0.000 | Hitting_2B | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.110 | 4.000 | 4.000 | Hitting_AB | 3.957 | 4.000 | 0.043 | 0.000 |
| predicted_AVG | 0.233 | 0.250 | 0.250 | Hitting_AVG | 0.284 | 0.500 | -0.034 | -0.250 |
| predicted_BB | 0.409 | 0.000 | 0.000 | Hitting_BB | 0.487 | 0.000 | -0.487 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 1.124 | 2.000 | -0.124 | -1.000 |
| predicted_HR | 0.190 | 1.000 | 0.000 | Hitting_HR | 0.261 | 1.000 | 0.739 | 0.000 |
| predicted_OBP | 0.315 | 0.250 | 0.250 | Hitting_OBP | 0.371 | 0.600 | -0.121 | -0.350 |
| predicted_R | 0.742 | 1.000 | 1.000 | Hitting_R | 0.821 | 2.000 | 0.179 | -1.000 |
| predicted_RBI | 0.610 | 3.000 | 1.000 | Hitting_RBI | 0.778 | 4.000 | 2.222 | -1.000 |
| predicted_SLG | 0.415 | 1.000 | 0.250 | Hitting_SLG | 0.511 | 1.250 | 0.489 | -0.250 |
| predicted_SO | 1.030 | 0.000 | 1.000 | Hitting_SO | 0.966 | 0.000 | -0.966 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.6100 -> 3.0000 (boost 2.3900, better) |
| Biggest Deboost | predicted_SO: 1.0300 -> 0.0000 (deboost -1.0300, 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 | 1 | 2 | - | predicted_AB: 4.1100 -> 3.9896 (deboost -0.1204, worse) | Final model input calibrated with local 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.2292 -> 0.2353 (boost 0.0061, better) | predicted_OBP: 0.3165 -> 0.3050 (deboost -0.0115, 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.6440 -> 1.0000 (boost 0.3560, better) | predicted_BB: 0.3999 -> 0.0000 (deboost -0.3999, worse) | AB rounded to 4 (raw=4.11), rates preserved: AVG=0.228 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7914 -> 1.0000 (boost 0.2086, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2353 -> 0.2500 (boost 0.0147, better) | predicted_SLG: 0.4049 -> 0.2500 (deboost -0.1549, 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_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4049 (boost 0.1549, better) | predicted_AVG: 0.2500 -> 0.2353 (deboost -0.0147, 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.091,
"predicted_3B": 0.0,
"predicted_AB": 4.11,
"predicted_AVG": 0.233,
"predicted_BB": 0.409,
"predicted_H": 0.96,
"predicted_HR": 0.19,
"predicted_OBP": 0.315,
"predicted_R": 0.742,
"predicted_RBI": 0.61,
"predicted_SLG": 0.415,
"predicted_SO": 1.03
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0804,
"predicted_3B": 0.0004,
"predicted_AB": 3.9896,
"predicted_AVG": 0.2292,
"predicted_BB": 0.3942,
"predicted_H": 0.9165,
"predicted_HBP": 0.162,
"predicted_HR": 0.1934,
"predicted_OBP": 0.3165,
"predicted_R": 0.7568,
"predicted_RBI": 0.6159,
"predicted_SLG": 0.4074,
"predicted_SO": 0.9404
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0804,
"delta": -0.0106,
"percent_delta": -0.1165,
"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.9896,
"delta": -0.1204,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2292,
"delta": -0.0038,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.3942,
"delta": -0.0148,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9165,
"delta": -0.0435,
"percent_delta": -0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1934,
"delta": 0.0034,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3165,
"delta": 0.0015,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.742,
"after": 0.7568,
"delta": 0.0148,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6159,
"delta": 0.0059,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4074,
"delta": -0.0076,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.03,
"after": 0.9404,
"delta": -0.0896,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.11,
"after": 3.9896,
"delta": -0.1204,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0804,
"predicted_3B": 0.0004,
"predicted_AB": 3.9896,
"predicted_AVG": 0.2353,
"predicted_BB": 0.3999,
"predicted_H": 0.9388,
"predicted_HBP": 0.162,
"predicted_HR": 0.1985,
"predicted_OBP": 0.305,
"predicted_R": 0.7914,
"predicted_RBI": 0.644,
"predicted_SLG": 0.4049,
"predicted_SO": 0.9269
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0804,
"after": 0.0804,
"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.9896,
"after": 3.9896,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2292,
"after": 0.2353,
"delta": 0.0061,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3942,
"after": 0.3999,
"delta": 0.0057,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9165,
"after": 0.9388,
"delta": 0.0223,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.162,
"after": 0.162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1934,
"after": 0.1985,
"delta": 0.0051,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3165,
"after": 0.305,
"delta": -0.0115,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7568,
"after": 0.7914,
"delta": 0.0346,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6159,
"after": 0.644,
"delta": 0.0281,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4074,
"after": 0.4049,
"delta": -0.0025,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9404,
"after": 0.9269,
"delta": -0.0135,
"percent_delta": -0.0144,
"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.2292,
"after": 0.2353,
"delta": 0.0061,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3165,
"after": 0.305,
"delta": -0.0115,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.11), rates preserved: AVG=0.228 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.0804,
"after": 0.0,
"delta": -0.0804,
"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.9896,
"after": 4.0,
"delta": 0.0104,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3999,
"after": 0.0,
"delta": -0.3999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9388,
"after": 1.0,
"delta": 0.0612,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1985,
"after": 0.0,
"delta": -0.1985,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9269,
"after": 1.0,
"delta": 0.0731,
"percent_delta": 0.0789,
"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.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3999,
"after": 0.0,
"delta": -0.3999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7914,
"after": 1.0,
"delta": 0.2086,
"percent_delta": 0.2636,
"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.7914,
"after": 1.0,
"delta": 0.2086,
"percent_delta": 0.2636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2353,
"after": 0.25,
"delta": 0.0147,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.25,
"delta": -0.055,
"percent_delta": -0.1803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4049,
"after": 0.25,
"delta": -0.1549,
"percent_delta": -0.3826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2353,
"after": 0.25,
"delta": 0.0147,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4049,
"after": 0.25,
"delta": -0.1549,
"percent_delta": -0.3826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2353,
"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.305,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4049,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2353,
"delta": -0.0147,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.305,
"delta": 0.055,
"percent_delta": 0.2199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4049,
"delta": 0.1549,
"percent_delta": 0.6197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4049,
"delta": 0.1549,
"percent_delta": 0.6197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2353,
"delta": -0.0147,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "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": 4.11,
"after": 4.0,
"delta": -0.11,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2353,
"delta": 0.0023,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.305,
"delta": -0.01,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.742,
"after": 1.0,
"delta": 0.258,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 3.0,
"delta": 2.39,
"percent_delta": 3.918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4049,
"delta": -0.0101,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"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.61,
"after": 3.0,
"delta": 2.39,
"percent_delta": 3.918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"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 | 4.110 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.409 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.742 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.415 | - |
| predicted_SO | 1.030 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.080 | -0.011 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.990 | -0.120 |
| predicted_AVG | 0.229 | -0.004 |
| predicted_BB | 0.394 | -0.015 |
| predicted_H | 0.916 | -0.043 |
| predicted_HBP | 0.162 | - |
| predicted_HR | 0.193 | 0.003 |
| predicted_OBP | 0.317 | 0.002 |
| predicted_R | 0.757 | 0.015 |
| predicted_RBI | 0.616 | 0.006 |
| predicted_SLG | 0.407 | -0.008 |
| predicted_SO | 0.940 | -0.090 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.080 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.990 | 0.000 |
| predicted_AVG | 0.235 | 0.006 |
| predicted_BB | 0.400 | 0.006 |
| predicted_H | 0.939 | 0.022 |
| predicted_HBP | 0.162 | 0.000 |
| predicted_HR | 0.199 | 0.005 |
| predicted_OBP | 0.305 | -0.012 |
| predicted_R | 0.791 | 0.035 |
| predicted_RBI | 0.644 | 0.028 |
| predicted_SLG | 0.405 | -0.003 |
| predicted_SO | 0.927 | -0.014 |
AB rounded to 4 (raw=4.11), rates preserved: AVG=0.228 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.080 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.010 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.000 | -0.400 |
| predicted_H | 1.000 | 0.061 |
| predicted_HR | 0.000 | -0.199 |
| predicted_OBP | 0.250 | -0.055 |
| predicted_R | 1.000 | 0.209 |
| predicted_RBI | 1.000 | 0.356 |
| predicted_SLG | 0.250 | -0.155 |
| predicted_SO | 1.000 | 0.073 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 6.000 | 2.000 | 2.000 | 0.2105 | 0.3478 | 0.3684 | 0.2105 | 0.0526 | 0.2105 | 0.1053 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 6.000 | 3.000 | 6.000 | 0.1351 | 0.2381 | 0.2162 | 0.1351 | 0.0270 | 0.1081 | 0.0811 | 0.1622 |
| season | 0.60 | 66 | - | 256.000 | 65.000 | 6.000 | 0.000 | 16.000 | 44.000 | 49.000 | 27.000 | 68.000 | 0.2539 | 0.3379 | 0.4648 | 0.2539 | 0.0625 | 0.1719 | 0.1055 | 0.2656 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8250 |
| predicted_AVG | 0.2239 |
| predicted_BB | 0.3740 |
| predicted_H | 0.8570 |
| predicted_HBP | 0.1620 |
| predicted_HR | 0.1980 |
| predicted_OBP | 0.3186 |
| predicted_R | 0.7770 |
| predicted_RBI | 0.6240 |
| predicted_SLG | 0.3971 |
| predicted_SO | 0.8180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.0660 | 0.0804 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1100 | 3.8250 | 3.9896 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2239 | 0.2292 | model_form_blend |
| predicted_BB | 0.4090 | 0.3740 | 0.3942 | model_form_blend |
| predicted_H | 0.9600 | 0.8570 | 0.9165 | model_form_blend |
| predicted_HBP | - | 0.1620 | 0.1620 | form_only |
| predicted_HR | 0.1900 | 0.1980 | 0.1934 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3186 | 0.3165 | model_form_blend |
| predicted_R | 0.7420 | 0.7770 | 0.7568 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6240 | 0.6159 | model_form_blend |
| predicted_SLG | 0.4150 | 0.3971 | 0.4074 | model_form_blend |
| predicted_SO | 1.0300 | 0.8180 | 0.9404 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 1 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260705_NYM@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-05 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.344 |
| sl_xwoba | 0.373 |
| sl_xba | 0.27 |
| sl_xslg | 0.51 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 16.0 |
| sl_hard_hit_percent | 48.4 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 25.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.200 | 0.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_AB | 3.750 | 3.000 | 4.000 | Hitting_AB | 3.806 | 5.000 | -0.806 | -2.000 |
| predicted_AVG | 0.266 | 0.000 | 0.250 | Hitting_AVG | 0.261 | 0.600 | -0.261 | -0.600 |
| predicted_BB | 0.294 | 1.000 | 0.000 | Hitting_BB | 0.275 | 0.000 | 0.725 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 0.992 | 3.000 | -0.992 | -3.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.073 | 0.000 | -0.073 | 0.000 |
| predicted_OBP | 0.360 | 0.250 | 0.250 | Hitting_OBP | 0.316 | 0.600 | -0.066 | -0.350 |
| predicted_R | 0.482 | 0.000 | 1.000 | Hitting_R | 0.441 | 1.000 | -0.441 | -1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.567 | 1.000 | -0.567 | -1.000 |
| predicted_SLG | 0.435 | 0.000 | 0.250 | Hitting_SLG | 0.399 | 0.600 | -0.399 | -0.600 |
| predicted_SO | 0.553 | 0.000 | 1.000 | Hitting_SO | 0.611 | 0.000 | -0.611 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2940 -> 1.0000 (boost 0.7060, better) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_R: 0.4820 -> 0.5792 (boost 0.0972, better) | predicted_AB: 3.7500 -> 3.6809 (deboost -0.0691, worse) | Final model input calibrated with local form: 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.2813 -> 0.2881 (boost 0.0068, better) | predicted_OBP: 0.3698 -> 0.3556 (deboost -0.0142, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.5224 -> 1.0000 (boost 0.4776, worse) | predicted_BB: 0.3852 -> 0.0000 (deboost -0.3852, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.283 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6057 -> 1.0000 (boost 0.3943, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4533 -> 0.2500 (deboost -0.2033, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.4533 (boost 0.2033, 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.2,
"predicted_3B": 0.024,
"predicted_AB": 3.75,
"predicted_AVG": 0.266,
"predicted_BB": 0.294,
"predicted_H": 1.0,
"predicted_HR": 0.12,
"predicted_OBP": 0.36,
"predicted_R": 0.482,
"predicted_RBI": 0.59,
"predicted_SLG": 0.435,
"predicted_SO": 0.553
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0197,
"predicted_AB": 3.6809,
"predicted_AVG": 0.2813,
"predicted_BB": 0.3797,
"predicted_H": 1.0354,
"predicted_HBP": 0.015,
"predicted_HR": 0.123,
"predicted_OBP": 0.3698,
"predicted_R": 0.5792,
"predicted_RBI": 0.6134,
"predicted_SLG": 0.4476,
"predicted_SO": 0.53
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1898,
"delta": -0.0102,
"percent_delta": -0.051,
"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": 3.75,
"after": 3.6809,
"delta": -0.0691,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2813,
"delta": 0.0153,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.3797,
"delta": 0.0857,
"percent_delta": 0.2915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0354,
"delta": 0.0354,
"percent_delta": 0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.123,
"delta": 0.003,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.36,
"after": 0.3698,
"delta": 0.0098,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.482,
"after": 0.5792,
"delta": 0.0972,
"percent_delta": 0.2017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6134,
"delta": 0.0234,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4476,
"delta": 0.0126,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.553,
"after": 0.53,
"delta": -0.023,
"percent_delta": -0.0416,
"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.482,
"after": 0.5792,
"delta": 0.0972,
"percent_delta": 0.2017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 3.6809,
"delta": -0.0691,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1898,
"predicted_3B": 0.0197,
"predicted_AB": 3.6809,
"predicted_AVG": 0.2881,
"predicted_BB": 0.3852,
"predicted_H": 1.0606,
"predicted_HBP": 0.015,
"predicted_HR": 0.1262,
"predicted_OBP": 0.3556,
"predicted_R": 0.6057,
"predicted_RBI": 0.6414,
"predicted_SLG": 0.4533,
"predicted_SO": 0.5224
},
"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.0197,
"after": 0.0197,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6809,
"after": 3.6809,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2813,
"after": 0.2881,
"delta": 0.0068,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3797,
"after": 0.3852,
"delta": 0.0055,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0354,
"after": 1.0606,
"delta": 0.0252,
"percent_delta": 0.0243,
"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.123,
"after": 0.1262,
"delta": 0.0032,
"percent_delta": 0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3698,
"after": 0.3556,
"delta": -0.0142,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5792,
"after": 0.6057,
"delta": 0.0265,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6134,
"after": 0.6414,
"delta": 0.028,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4476,
"after": 0.4533,
"delta": 0.0057,
"percent_delta": 0.0127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.53,
"after": 0.5224,
"delta": -0.0076,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_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.2813,
"after": 0.2881,
"delta": 0.0068,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3698,
"after": 0.3556,
"delta": -0.0142,
"percent_delta": -0.0384,
"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.283 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.1898,
"after": 0.0,
"delta": -0.1898,
"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": 3.6809,
"after": 4.0,
"delta": 0.3191,
"percent_delta": 0.0867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3852,
"after": 0.0,
"delta": -0.3852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0606,
"after": 1.0,
"delta": -0.0606,
"percent_delta": -0.0571,
"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.1262,
"after": 0.0,
"delta": -0.1262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6414,
"after": 1.0,
"delta": 0.3586,
"percent_delta": 0.5591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5224,
"after": 1.0,
"delta": 0.4776,
"percent_delta": 0.9142,
"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.5224,
"after": 1.0,
"delta": 0.4776,
"percent_delta": 0.9142,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3852,
"after": 0.0,
"delta": -0.3852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6057,
"after": 1.0,
"delta": 0.3943,
"percent_delta": 0.651,
"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.6057,
"after": 1.0,
"delta": 0.3943,
"percent_delta": 0.651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2881,
"after": 0.25,
"delta": -0.0381,
"percent_delta": -0.1322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3556,
"after": 0.25,
"delta": -0.1056,
"percent_delta": -0.297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4533,
"after": 0.25,
"delta": -0.2033,
"percent_delta": -0.4485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4533,
"after": 0.25,
"delta": -0.2033,
"percent_delta": -0.4485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2881,
"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.3556,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4533,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2881,
"delta": 0.0381,
"percent_delta": 0.1525,
"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.3556,
"delta": 0.1056,
"percent_delta": 0.4222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4533,
"delta": 0.2033,
"percent_delta": 0.8131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4533,
"delta": 0.2033,
"percent_delta": 0.8131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.0,
"delta": -0.75,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2881,
"delta": 0.0221,
"percent_delta": 0.0831,
"direction": "boost",
"projection_effect": "better",
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"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.36,
"after": 0.3556,
"delta": -0.0044,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.482,
"after": 0.0,
"delta": -0.482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4533,
"delta": 0.0183,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.553,
"after": 0.0,
"delta": -0.553,
"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.294,
"after": 1.0,
"delta": 0.706,
"percent_delta": 2.4014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.294 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.360 | - |
| predicted_R | 0.482 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.553 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.010 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.681 | -0.069 |
| predicted_AVG | 0.281 | 0.015 |
| predicted_BB | 0.380 | 0.086 |
| predicted_H | 1.035 | 0.035 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.123 | 0.003 |
| predicted_OBP | 0.370 | 0.010 |
| predicted_R | 0.579 | 0.097 |
| predicted_RBI | 0.613 | 0.023 |
| predicted_SLG | 0.448 | 0.013 |
| predicted_SO | 0.530 | -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.190 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.681 | 0.000 |
| predicted_AVG | 0.288 | 0.007 |
| predicted_BB | 0.385 | 0.006 |
| predicted_H | 1.061 | 0.025 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.126 | 0.003 |
| predicted_OBP | 0.356 | -0.014 |
| predicted_R | 0.606 | 0.026 |
| predicted_RBI | 0.641 | 0.028 |
| predicted_SLG | 0.453 | 0.006 |
| predicted_SO | 0.522 | -0.008 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.283 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.190 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.319 |
| predicted_AVG | 0.250 | -0.038 |
| predicted_BB | 0.000 | -0.385 |
| predicted_H | 1.000 | -0.061 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.250 | -0.106 |
| predicted_R | 1.000 | 0.394 |
| predicted_RBI | 1.000 | 0.359 |
| predicted_SLG | 0.250 | -0.203 |
| predicted_SO | 1.000 | 0.478 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 6.000 | 0.000 | 0.000 | 1.000 | 5.000 | 6.000 | 5.000 | 2.000 | 0.3750 | 0.5238 | 0.5625 | 0.3750 | 0.0625 | 0.3125 | 0.3125 | 0.1250 |
| last_10 | 0.20 | 10 | - | 36.000 | 12.000 | 3.000 | 0.000 | 1.000 | 5.000 | 9.000 | 6.000 | 3.000 | 0.3333 | 0.4286 | 0.5000 | 0.3333 | 0.0278 | 0.1389 | 0.1667 | 0.0833 |
| season | 0.60 | 85 | - | 313.000 | 86.000 | 17.000 | 2.000 | 9.000 | 49.000 | 41.000 | 25.000 | 47.000 | 0.2748 | 0.3324 | 0.4281 | 0.2748 | 0.0288 | 0.1565 | 0.0799 | 0.1502 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.5880 |
| predicted_AVG | 0.3018 |
| predicted_BB | 0.4950 |
| predicted_H | 1.0830 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1270 |
| predicted_OBP | 0.3831 |
| predicted_R | 0.7100 |
| predicted_RBI | 0.6450 |
| predicted_SLG | 0.4645 |
| predicted_SO | 0.4990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1760 | 0.1898 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 3.7500 | 3.5880 | 3.6809 | model_form_blend |
| predicted_AVG | 0.2660 | 0.3018 | 0.2813 | model_form_blend |
| predicted_BB | 0.2940 | 0.4950 | 0.3797 | model_form_blend |
| predicted_H | 1.0000 | 1.0830 | 1.0354 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1200 | 0.1270 | 0.1230 | model_form_blend |
| predicted_OBP | 0.3600 | 0.3831 | 0.3698 | model_form_blend |
| predicted_R | 0.4820 | 0.7100 | 0.5792 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6450 | 0.6134 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4645 | 0.4476 | model_form_blend |
| predicted_SO | 0.5530 | 0.4990 | 0.5300 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 247 |
| Season rows before report date | 247 |
| 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 | 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 | 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 | 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 | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 643289 |
| playerID | 643289 |
| playerName | Mauricio Dubón |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-05 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.333 |
| sl_xwoba | 0.323 |
| sl_xba | 0.274 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 30.5 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 16.3 |
| sl_swing_percent | 51.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.090 | 0.000 | 0.000 | Hitting_2B | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 2.925 | 3.000 | 3.000 | Hitting_AB | 3.180 | 5.000 | -0.180 | -2.000 |
| predicted_AVG | 0.266 | 0.000 | 0.333 | Hitting_AVG | 0.317 | 0.200 | -0.317 | -0.200 |
| predicted_BB | 0.134 | 0.000 | 0.000 | Hitting_BB | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 1.007 | 1.000 | -1.007 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.285 | 0.000 | 0.333 | Hitting_OBP | 0.353 | 0.200 | -0.353 | -0.200 |
| predicted_R | 0.388 | 0.000 | 0.000 | Hitting_R | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.613 | 0.000 | -0.613 | 0.000 |
| predicted_SLG | 0.369 | 0.000 | 0.333 | Hitting_SLG | 0.465 | 0.200 | -0.465 | -0.200 |
| predicted_SO | 0.448 | 1.000 | 1.000 | Hitting_SO | 0.460 | 2.000 | 0.540 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.4480 -> 1.0000 (boost 0.5520, 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: 2.9250 -> 3.0391 (boost 0.1141, better) | predicted_AVG: 0.2660 -> 0.2572 (deboost -0.0088, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3610 -> 0.3667 (boost 0.0057, better) | predicted_AVG: 0.2572 -> 0.2495 (deboost -0.0077, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.7582 -> 1.0000 (boost 0.2418, better) | predicted_SO: 0.4868 -> 0.0000 (deboost -0.4868, better) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.249 HR/AB=0.025 |
| 5 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4070 -> 0.0000 (deboost -0.4070, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2495 -> 0.3330 (boost 0.0835, better) | predicted_SLG: 0.3667 -> 0.3330 (deboost -0.0337, 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.3330 -> 0.3667 (boost 0.0337, better) | predicted_AVG: 0.3330 -> 0.2495 (deboost -0.0835, 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.09,
"predicted_3B": 0.015,
"predicted_AB": 2.925,
"predicted_AVG": 0.266,
"predicted_BB": 0.134,
"predicted_H": 0.71,
"predicted_HR": 0.08,
"predicted_OBP": 0.285,
"predicted_R": 0.388,
"predicted_RBI": 0.42,
"predicted_SLG": 0.369,
"predicted_SO": 0.448
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.102,
"predicted_3B": 0.0129,
"predicted_AB": 3.0391,
"predicted_AVG": 0.2572,
"predicted_BB": 0.1365,
"predicted_H": 0.7402,
"predicted_HBP": 0.012,
"predicted_HR": 0.0742,
"predicted_OBP": 0.2815,
"predicted_R": 0.3892,
"predicted_RBI": 0.4522,
"predicted_SLG": 0.361,
"predicted_SO": 0.4939
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.102,
"delta": 0.012,
"percent_delta": 0.1333,
"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": 2.925,
"after": 3.0391,
"delta": 0.1141,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2572,
"delta": -0.0088,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.134,
"after": 0.1365,
"delta": 0.0025,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7402,
"delta": 0.0302,
"percent_delta": 0.0425,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0742,
"delta": -0.0058,
"percent_delta": -0.0725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2815,
"delta": -0.0035,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.388,
"after": 0.3892,
"delta": 0.0012,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4522,
"delta": 0.0322,
"percent_delta": 0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.361,
"delta": -0.008,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.448,
"after": 0.4939,
"delta": 0.0459,
"percent_delta": 0.1025,
"direction": "no_change",
"projection_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.925,
"after": 3.0391,
"delta": 0.1141,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2572,
"delta": -0.0088,
"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": 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.102,
"predicted_3B": 0.0129,
"predicted_AB": 3.0391,
"predicted_AVG": 0.2495,
"predicted_BB": 0.1385,
"predicted_H": 0.7582,
"predicted_HBP": 0.012,
"predicted_HR": 0.0762,
"predicted_OBP": 0.2822,
"predicted_R": 0.407,
"predicted_RBI": 0.4729,
"predicted_SLG": 0.3667,
"predicted_SO": 0.4868
},
"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.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0391,
"after": 3.0391,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2572,
"after": 0.2495,
"delta": -0.0077,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1365,
"after": 0.1385,
"delta": 0.002,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7402,
"after": 0.7582,
"delta": 0.018,
"percent_delta": 0.0243,
"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.0742,
"after": 0.0762,
"delta": 0.002,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2815,
"after": 0.2822,
"delta": 0.0007,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3892,
"after": 0.407,
"delta": 0.0178,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4522,
"after": 0.4729,
"delta": 0.0207,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3667,
"delta": 0.0057,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4939,
"after": 0.4868,
"delta": -0.0071,
"percent_delta": -0.0144,
"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.361,
"after": 0.3667,
"delta": 0.0057,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2572,
"after": 0.2495,
"delta": -0.0077,
"percent_delta": -0.0299,
"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.249 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.102,
"after": 0.0,
"delta": -0.102,
"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.0391,
"after": 3.0,
"delta": -0.0391,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1385,
"after": 0.0,
"delta": -0.1385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7582,
"after": 1.0,
"delta": 0.2418,
"percent_delta": 0.3189,
"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.0762,
"after": 0.0,
"delta": -0.0762,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4729,
"after": 0.0,
"delta": -0.4729,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4868,
"after": 0.0,
"delta": -0.4868,
"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.7582,
"after": 1.0,
"delta": 0.2418,
"percent_delta": 0.3189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4868,
"after": 0.0,
"delta": -0.4868,
"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=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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.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.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.407,
"after": 0.0,
"delta": -0.407,
"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.2495,
"after": 0.333,
"delta": 0.0835,
"percent_delta": 0.3347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2822,
"after": 0.333,
"delta": 0.0508,
"percent_delta": 0.18,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.333,
"delta": -0.0337,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2495,
"after": 0.333,
"delta": 0.0835,
"percent_delta": 0.3347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3667,
"after": 0.333,
"delta": -0.0337,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 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.2495,
"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.2822,
"predicted_R": 0.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.333,
"after": 0.2495,
"delta": -0.0835,
"percent_delta": -0.2508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2822,
"delta": -0.0508,
"percent_delta": -0.1526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3667,
"delta": 0.0337,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3667,
"delta": 0.0337,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2495,
"delta": -0.0835,
"percent_delta": -0.2508,
"direction": "deboost",
"projection_effect": "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.925,
"after": 3.0,
"delta": 0.075,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2495,
"delta": -0.0165,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2822,
"delta": -0.0028,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3667,
"delta": -0.0023,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"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.090 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.925 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.134 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.388 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.448 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | 0.012 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.039 | 0.114 |
| predicted_AVG | 0.257 | -0.009 |
| predicted_BB | 0.137 | 0.003 |
| predicted_H | 0.740 | 0.030 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.074 | -0.006 |
| predicted_OBP | 0.281 | -0.004 |
| predicted_R | 0.389 | 0.001 |
| predicted_RBI | 0.452 | 0.032 |
| predicted_SLG | 0.361 | -0.008 |
| predicted_SO | 0.494 | 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.102 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.039 | 0.000 |
| predicted_AVG | 0.249 | -0.008 |
| predicted_BB | 0.139 | 0.002 |
| predicted_H | 0.758 | 0.018 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.076 | 0.002 |
| predicted_OBP | 0.282 | 0.001 |
| predicted_R | 0.407 | 0.018 |
| predicted_RBI | 0.473 | 0.021 |
| predicted_SLG | 0.367 | 0.006 |
| predicted_SO | 0.487 | -0.007 |
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.249 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 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
Enforced H<=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.013 |
| predicted_AB | 3.000 | -0.039 |
| predicted_AVG | 0.333 | 0.084 |
| predicted_BB | 0.000 | -0.139 |
| predicted_H | 1.000 | 0.242 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.333 | 0.051 |
| predicted_R | 0.000 | -0.407 |
| predicted_RBI | 0.000 | -0.473 |
| predicted_SLG | 0.333 | -0.034 |
| predicted_SO | 1.000 | 0.513 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.000 | 4.000 | 0.2222 | 0.2222 | 0.2778 | 0.2222 | 0.0000 | 0.1667 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 10 | - | 32.000 | 6.000 | 1.000 | 0.000 | 0.000 | 4.000 | 3.000 | 2.000 | 5.000 | 0.1875 | 0.2353 | 0.2188 | 0.1875 | 0.0000 | 0.1250 | 0.0625 | 0.1562 |
| season | 0.60 | 67 | - | 196.000 | 53.000 | 6.000 | 1.000 | 6.000 | 33.000 | 26.000 | 9.000 | 30.000 | 0.2704 | 0.3014 | 0.4031 | 0.2704 | 0.0306 | 0.1684 | 0.0459 | 0.1531 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.2010 |
| predicted_AVG | 0.2447 |
| predicted_BB | 0.1400 |
| predicted_H | 0.7830 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.2766 |
| predicted_R | 0.3910 |
| predicted_RBI | 0.4980 |
| predicted_SLG | 0.3497 |
| predicted_SO | 0.5590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0900 | 0.1190 | 0.1020 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 2.9250 | 3.2010 | 3.0391 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2447 | 0.2572 | model_form_blend |
| predicted_BB | 0.1340 | 0.1400 | 0.1365 | model_form_blend |
| predicted_H | 0.7100 | 0.7830 | 0.7402 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0800 | 0.0660 | 0.0742 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2766 | 0.2815 | model_form_blend |
| predicted_R | 0.3880 | 0.3910 | 0.3892 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4980 | 0.4522 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3497 | 0.3610 | model_form_blend |
| predicted_SO | 0.4480 | 0.5590 | 0.4939 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_NYM@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-05 |
| sl_k_percent | 13.9 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.311 |
| sl_xwoba | 0.319 |
| sl_xba | 0.265 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 49.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.135 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.584 | 3.000 | 4.000 | Hitting_AB | 3.742 | 4.000 | -0.742 | -1.000 |
| predicted_AVG | 0.233 | 0.667 | 0.250 | Hitting_AVG | 0.218 | 0.500 | 0.448 | 0.167 |
| predicted_BB | 0.326 | 0.000 | 0.000 | Hitting_BB | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.810 | 2.000 | 1.000 | Hitting_H | 0.816 | 2.000 | 1.184 | 0.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.120 | 0.000 | 0.880 | 1.000 |
| predicted_OBP | 0.298 | 0.667 | 0.250 | Hitting_OBP | 0.293 | 0.500 | 0.374 | 0.167 |
| predicted_R | 0.404 | 1.000 | 0.000 | Hitting_R | 0.491 | 1.000 | 0.509 | 0.000 |
| predicted_RBI | 0.480 | 1.000 | 1.000 | Hitting_RBI | 0.521 | 0.000 | 0.479 | 1.000 |
| predicted_SLG | 0.367 | 1.667 | 0.250 | Hitting_SLG | 0.361 | 0.500 | 1.305 | 1.167 |
| predicted_SO | 1.169 | 1.000 | 1.000 | Hitting_SO | 1.243 | 1.000 | -0.243 | 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.8100 -> 2.0000 (boost 1.1900, better) |
| Biggest Deboost | predicted_AB: 3.5840 -> 3.0000 (deboost -0.5840, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3670 -> 0.3591 (deboost -0.0079, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3591 -> 0.3693 (boost 0.0102, better) | predicted_OBP: 0.2968 -> 0.2909 (deboost -0.0059, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5256 -> 1.0000 (boost 0.4744, better) | predicted_BB: 0.3168 -> 0.0000 (deboost -0.3168, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.228 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.389) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4502 -> 0.0000 (deboost -0.4502, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2282 -> 0.2500 (boost 0.0218, better) | predicted_SLG: 0.3693 -> 0.2500 (deboost -0.1193, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3693 (boost 0.1193, better) | predicted_AVG: 0.2500 -> 0.2282 (deboost -0.0218, 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.135,
"predicted_3B": 0.011,
"predicted_AB": 3.584,
"predicted_AVG": 0.233,
"predicted_BB": 0.326,
"predicted_H": 0.81,
"predicted_HR": 0.12,
"predicted_OBP": 0.298,
"predicted_R": 0.404,
"predicted_RBI": 0.48,
"predicted_SLG": 0.367,
"predicted_SO": 1.169
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1149,
"predicted_3B": 0.0093,
"predicted_AB": 3.5857,
"predicted_AVG": 0.2267,
"predicted_BB": 0.3123,
"predicted_H": 0.7989,
"predicted_HBP": 0.102,
"predicted_HR": 0.1209,
"predicted_OBP": 0.2968,
"predicted_R": 0.4305,
"predicted_RBI": 0.5026,
"predicted_SLG": 0.3591,
"predicted_SO": 1.1558
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.1149,
"delta": -0.0201,
"percent_delta": -0.1489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.584,
"after": 3.5857,
"delta": 0.0017,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2267,
"delta": -0.0063,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.3123,
"delta": -0.0137,
"percent_delta": -0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.7989,
"delta": -0.0111,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1209,
"delta": 0.0009,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2968,
"delta": -0.0012,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 0.4305,
"delta": 0.0265,
"percent_delta": 0.0656,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.5026,
"delta": 0.0226,
"percent_delta": 0.0471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3591,
"delta": -0.0079,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.169,
"after": 1.1558,
"delta": -0.0132,
"percent_delta": -0.0113,
"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.3591,
"delta": -0.0079,
"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": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1149,
"predicted_3B": 0.0093,
"predicted_AB": 3.5857,
"predicted_AVG": 0.2282,
"predicted_BB": 0.3168,
"predicted_H": 0.8183,
"predicted_HBP": 0.102,
"predicted_HR": 0.1241,
"predicted_OBP": 0.2909,
"predicted_R": 0.4502,
"predicted_RBI": 0.5256,
"predicted_SLG": 0.3693,
"predicted_SO": 1.1392
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1149,
"after": 0.1149,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5857,
"after": 3.5857,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2267,
"after": 0.2282,
"delta": 0.0015,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3123,
"after": 0.3168,
"delta": 0.0045,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7989,
"after": 0.8183,
"delta": 0.0194,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1209,
"after": 0.1241,
"delta": 0.0032,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2968,
"after": 0.2909,
"delta": -0.0059,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4305,
"after": 0.4502,
"delta": 0.0197,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5026,
"after": 0.5256,
"delta": 0.023,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3591,
"after": 0.3693,
"delta": 0.0102,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1558,
"after": 1.1392,
"delta": -0.0166,
"percent_delta": -0.0144,
"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.3591,
"after": 0.3693,
"delta": 0.0102,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2968,
"after": 0.2909,
"delta": -0.0059,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.59), rates preserved: AVG=0.228 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.1149,
"after": 0.0,
"delta": -0.1149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5857,
"after": 4.0,
"delta": 0.4143,
"percent_delta": 0.1155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3168,
"after": 0.0,
"delta": -0.3168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8183,
"after": 1.0,
"delta": 0.1817,
"percent_delta": 0.222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1241,
"after": 0.0,
"delta": -0.1241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5256,
"after": 1.0,
"delta": 0.4744,
"percent_delta": 0.9026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1392,
"after": 1.0,
"delta": -0.1392,
"percent_delta": -0.1222,
"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.5256,
"after": 1.0,
"delta": 0.4744,
"percent_delta": 0.9026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3168,
"after": 0.0,
"delta": -0.3168,
"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.389)",
"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.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": 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.4502,
"after": 0.0,
"delta": -0.4502,
"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.4502,
"after": 0.0,
"delta": -0.4502,
"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.2282,
"after": 0.25,
"delta": 0.0218,
"percent_delta": 0.0955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3693,
"after": 0.25,
"delta": -0.1193,
"percent_delta": -0.323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2282,
"after": 0.25,
"delta": 0.0218,
"percent_delta": 0.0955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3693,
"after": 0.25,
"delta": -0.1193,
"percent_delta": -0.323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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": 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_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2282,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2909,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3693,
"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.2282,
"delta": -0.0218,
"percent_delta": -0.0871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2909,
"delta": 0.0409,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3693,
"delta": 0.1193,
"percent_delta": 0.4771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3693,
"delta": 0.1193,
"percent_delta": 0.4771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2282,
"delta": -0.0218,
"percent_delta": -0.0871,
"direction": "deboost",
"projection_effect": "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.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.584,
"after": 3.0,
"delta": -0.584,
"percent_delta": -0.1629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2282,
"delta": -0.0048,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 2.0,
"delta": 1.19,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2909,
"delta": -0.0071,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 1.0,
"delta": 0.596,
"percent_delta": 1.4752,
"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.367,
"after": 0.3693,
"delta": 0.0023,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.169,
"after": 1.0,
"delta": -0.169,
"percent_delta": -0.1446,
"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.81,
"after": 2.0,
"delta": 1.19,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.584,
"after": 3.0,
"delta": -0.584,
"percent_delta": -0.1629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}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.011 | - |
| predicted_AB | 3.584 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.326 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.404 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 1.169 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.115 | -0.020 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 3.586 | 0.002 |
| predicted_AVG | 0.227 | -0.006 |
| predicted_BB | 0.312 | -0.014 |
| predicted_H | 0.799 | -0.011 |
| predicted_HBP | 0.102 | - |
| predicted_HR | 0.121 | 0.001 |
| predicted_OBP | 0.297 | -0.001 |
| predicted_R | 0.430 | 0.026 |
| predicted_RBI | 0.503 | 0.023 |
| predicted_SLG | 0.359 | -0.008 |
| predicted_SO | 1.156 | -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.115 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.586 | 0.000 |
| predicted_AVG | 0.228 | 0.001 |
| predicted_BB | 0.317 | 0.005 |
| predicted_H | 0.818 | 0.019 |
| predicted_HBP | 0.102 | 0.000 |
| predicted_HR | 0.124 | 0.003 |
| predicted_OBP | 0.291 | -0.006 |
| predicted_R | 0.450 | 0.020 |
| predicted_RBI | 0.526 | 0.023 |
| predicted_SLG | 0.369 | 0.010 |
| predicted_SO | 1.139 | -0.017 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.228 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 | - |
Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.389)
| 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.115 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.414 |
| predicted_AVG | 0.250 | 0.022 |
| predicted_BB | 0.000 | -0.317 |
| predicted_H | 1.000 | 0.182 |
| predicted_HR | 0.000 | -0.124 |
| predicted_OBP | 0.250 | -0.041 |
| predicted_R | 0.000 | -0.450 |
| predicted_RBI | 1.000 | 0.474 |
| predicted_SLG | 0.250 | -0.119 |
| predicted_SO | 1.000 | -0.139 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.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 | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 6.000 | 0.2778 | 0.3500 | 0.4444 | 0.2778 | 0.0556 | 0.2222 | 0.0556 | 0.3333 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 0.000 | 0.000 | 1.000 | 5.000 | 5.000 | 3.000 | 11.000 | 0.1714 | 0.2564 | 0.2571 | 0.1714 | 0.0286 | 0.1429 | 0.0857 | 0.3143 |
| season | 0.60 | 89 | - | 319.000 | 67.000 | 12.000 | 1.000 | 9.000 | 41.000 | 36.000 | 29.000 | 104.000 | 0.2100 | 0.2885 | 0.3386 | 0.2100 | 0.0282 | 0.1285 | 0.0909 | 0.3260 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.5880 |
| predicted_AVG | 0.2183 |
| predicted_BB | 0.2940 |
| predicted_H | 0.7840 |
| predicted_HBP | 0.1020 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.2953 |
| predicted_R | 0.4660 |
| predicted_RBI | 0.5330 |
| predicted_SLG | 0.3486 |
| predicted_SO | 1.1380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.0880 | 0.1149 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 3.5840 | 3.5880 | 3.5857 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2183 | 0.2267 | model_form_blend |
| predicted_BB | 0.3260 | 0.2940 | 0.3123 | model_form_blend |
| predicted_H | 0.8100 | 0.7840 | 0.7989 | model_form_blend |
| predicted_HBP | - | 0.1020 | 0.1020 | form_only |
| predicted_HR | 0.1200 | 0.1220 | 0.1209 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2953 | 0.2968 | model_form_blend |
| predicted_R | 0.4040 | 0.4660 | 0.4305 | model_form_blend |
| predicted_RBI | 0.4800 | 0.5330 | 0.5026 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3486 | 0.3591 | model_form_blend |
| predicted_SO | 1.1690 | 1.1380 | 1.1558 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 267 |
| Season rows before report date | 267 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260705_NYM@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-05 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.283 |
| sl_xwoba | 0.294 |
| sl_xba | 0.207 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 43.3 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 32.7 |
| 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.117 | 1.000 | 0.000 | Hitting_2B | 0.130 | 0.000 | 0.870 | 1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 2.766 | 3.000 | 3.000 | Hitting_AB | 3.076 | 1.000 | -0.076 | 2.000 |
| predicted_AVG | 0.259 | 0.333 | 0.333 | Hitting_AVG | 0.217 | 0.000 | 0.116 | 0.333 |
| predicted_BB | 0.312 | 0.000 | 0.000 | Hitting_BB | 0.342 | 1.000 | -0.342 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.630 | 1.000 | 1.000 | Hitting_H | 0.668 | 0.000 | 0.332 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.325 | 0.333 | 0.333 | Hitting_OBP | 0.305 | 0.500 | 0.028 | -0.167 |
| predicted_R | 0.351 | 1.000 | 0.000 | Hitting_R | 0.446 | 0.000 | 0.554 | 1.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_SLG | 0.379 | 0.667 | 0.333 | Hitting_SLG | 0.325 | 0.000 | 0.342 | 0.667 |
| predicted_SO | 0.753 | 0.000 | 1.000 | Hitting_SO | 0.842 | 0.000 | -0.842 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.1170 -> 1.0000 (boost 0.8830, better) |
| Biggest Deboost | predicted_SO: 0.7530 -> 0.0000 (deboost -0.7530, 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_BB: 0.3120 -> 0.3755 (boost 0.0635, better) | predicted_AVG: 0.2590 -> 0.2463 (deboost -0.0127, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3812 -> 0.3951 (boost 0.0139, better) | predicted_AVG: 0.2463 -> 0.2336 (deboost -0.0127, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.6376 -> 1.0000 (boost 0.3624, better) | predicted_RBI: 0.3825 -> 0.0000 (deboost -0.3825, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.231 HR/AB=0.039 |
| 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.3666 -> 0.0000 (deboost -0.3666, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2336 -> 0.3330 (boost 0.0994, better) | predicted_SLG: 0.3951 -> 0.3330 (deboost -0.0621, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 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.3951 (boost 0.0621, better) | predicted_AVG: 0.3330 -> 0.2336 (deboost -0.0994, 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.117,
"predicted_3B": 0.013,
"predicted_AB": 2.766,
"predicted_AVG": 0.259,
"predicted_BB": 0.312,
"predicted_H": 0.63,
"predicted_HR": 0.1,
"predicted_OBP": 0.325,
"predicted_R": 0.351,
"predicted_RBI": 0.36,
"predicted_SLG": 0.379,
"predicted_SO": 0.753
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0995,
"predicted_3B": 0.0109,
"predicted_AB": 2.7297,
"predicted_AVG": 0.2463,
"predicted_BB": 0.3755,
"predicted_H": 0.6225,
"predicted_HBP": 0.023,
"predicted_HR": 0.1038,
"predicted_OBP": 0.3291,
"predicted_R": 0.3506,
"predicted_RBI": 0.3658,
"predicted_SLG": 0.3812,
"predicted_SO": 0.7375
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.0995,
"delta": -0.0175,
"percent_delta": -0.1496,
"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.766,
"after": 2.7297,
"delta": -0.0363,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2463,
"delta": -0.0127,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.3755,
"delta": 0.0635,
"percent_delta": 0.2035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.6225,
"delta": -0.0075,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1038,
"delta": 0.0038,
"percent_delta": 0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3291,
"delta": 0.0041,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 0.3506,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3658,
"delta": 0.0058,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3812,
"delta": 0.0022,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.753,
"after": 0.7375,
"delta": -0.0155,
"percent_delta": -0.0206,
"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.312,
"after": 0.3755,
"delta": 0.0635,
"percent_delta": 0.2035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2463,
"delta": -0.0127,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0995,
"predicted_3B": 0.0109,
"predicted_AB": 2.7297,
"predicted_AVG": 0.2336,
"predicted_BB": 0.3809,
"predicted_H": 0.6376,
"predicted_HBP": 0.023,
"predicted_HR": 0.1065,
"predicted_OBP": 0.3274,
"predicted_R": 0.3666,
"predicted_RBI": 0.3825,
"predicted_SLG": 0.3951,
"predicted_SO": 0.7269
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0995,
"after": 0.0995,
"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.7297,
"after": 2.7297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2463,
"after": 0.2336,
"delta": -0.0127,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3755,
"after": 0.3809,
"delta": 0.0054,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6225,
"after": 0.6376,
"delta": 0.0151,
"percent_delta": 0.0243,
"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.1038,
"after": 0.1065,
"delta": 0.0027,
"percent_delta": 0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3291,
"after": 0.3274,
"delta": -0.0017,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3506,
"after": 0.3666,
"delta": 0.016,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3658,
"after": 0.3825,
"delta": 0.0167,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3812,
"after": 0.3951,
"delta": 0.0139,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7375,
"after": 0.7269,
"delta": -0.0106,
"percent_delta": -0.0144,
"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.3812,
"after": 0.3951,
"delta": 0.0139,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2463,
"after": 0.2336,
"delta": -0.0127,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.231 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0995,
"after": 0.0,
"delta": -0.0995,
"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.7297,
"after": 3.0,
"delta": 0.2703,
"percent_delta": 0.099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3809,
"after": 0.0,
"delta": -0.3809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6376,
"after": 1.0,
"delta": 0.3624,
"percent_delta": 0.5684,
"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.1065,
"after": 0.0,
"delta": -0.1065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3825,
"after": 0.0,
"delta": -0.3825,
"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.6376,
"after": 1.0,
"delta": 0.3624,
"percent_delta": 0.5684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3825,
"after": 0.0,
"delta": -0.3825,
"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": 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.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": 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.3666,
"after": 0.0,
"delta": -0.3666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3666,
"after": 0.0,
"delta": -0.3666,
"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.2336,
"after": 0.333,
"delta": 0.0994,
"percent_delta": 0.4255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3274,
"after": 0.333,
"delta": 0.0056,
"percent_delta": 0.0171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3951,
"after": 0.333,
"delta": -0.0621,
"percent_delta": -0.1572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2336,
"after": 0.333,
"delta": 0.0994,
"percent_delta": 0.4255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3951,
"after": 0.333,
"delta": -0.0621,
"percent_delta": -0.1572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 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": 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_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": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2336,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3274,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3951,
"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.2336,
"delta": -0.0994,
"percent_delta": -0.2985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3274,
"delta": -0.0056,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3951,
"delta": 0.0621,
"percent_delta": 0.1865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3951,
"delta": 0.0621,
"percent_delta": 0.1865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2336,
"delta": -0.0994,
"percent_delta": -0.2985,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.883,
"percent_delta": 7.547,
"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.766,
"after": 3.0,
"delta": 0.234,
"percent_delta": 0.0846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2336,
"delta": -0.0254,
"percent_delta": -0.0981,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"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.325,
"after": 0.3274,
"delta": 0.0024,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 1.0,
"delta": 0.649,
"percent_delta": 1.849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3951,
"delta": 0.0161,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.753,
"after": 0.0,
"delta": -0.753,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.117,
"after": 1.0,
"delta": 0.883,
"percent_delta": 7.547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.753,
"after": 0.0,
"delta": -0.753,
"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.117 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 2.766 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.351 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.753 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.100 | -0.018 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 2.730 | -0.036 |
| predicted_AVG | 0.246 | -0.013 |
| predicted_BB | 0.376 | 0.064 |
| predicted_H | 0.623 | -0.007 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.104 | 0.004 |
| predicted_OBP | 0.329 | 0.004 |
| predicted_R | 0.351 | -0.000 |
| predicted_RBI | 0.366 | 0.006 |
| predicted_SLG | 0.381 | 0.002 |
| predicted_SO | 0.738 | -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.100 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.730 | 0.000 |
| predicted_AVG | 0.234 | -0.013 |
| predicted_BB | 0.381 | 0.005 |
| predicted_H | 0.638 | 0.015 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.106 | 0.003 |
| predicted_OBP | 0.327 | -0.002 |
| predicted_R | 0.367 | 0.016 |
| predicted_RBI | 0.383 | 0.017 |
| predicted_SLG | 0.395 | 0.014 |
| predicted_SO | 0.727 | -0.011 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.231 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 | 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.100 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.270 |
| predicted_AVG | 0.333 | 0.099 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | 0.362 |
| predicted_HR | 0.000 | -0.106 |
| predicted_OBP | 0.333 | 0.006 |
| predicted_R | 0.000 | -0.367 |
| predicted_RBI | 0.000 | -0.383 |
| predicted_SLG | 0.333 | -0.062 |
| predicted_SO | 1.000 | 0.273 |
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 | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 3.000 | 0.2727 | 0.4375 | 0.5455 | 0.2727 | 0.0909 | 0.2727 | 0.3636 | 0.2727 |
| last_10 | 0.20 | 10 | - | 22.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 5.000 | 6.000 | 0.1818 | 0.3214 | 0.3182 | 0.1818 | 0.0454 | 0.1364 | 0.2273 | 0.2727 |
| season | 0.60 | 77 | - | 213.000 | 48.000 | 9.000 | 1.000 | 5.000 | 21.000 | 27.000 | 24.000 | 58.000 | 0.2254 | 0.3112 | 0.3474 | 0.2253 | 0.0235 | 0.0986 | 0.1127 | 0.2723 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0750 |
| predicted_3B | 0.0080 |
| predicted_AB | 2.6790 |
| predicted_AVG | 0.2286 |
| predicted_BB | 0.4640 |
| predicted_H | 0.6120 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.1090 |
| predicted_OBP | 0.3349 |
| predicted_R | 0.3500 |
| predicted_RBI | 0.3740 |
| predicted_SLG | 0.3843 |
| predicted_SO | 0.7160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1170 | 0.0750 | 0.0995 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 2.7660 | 2.6790 | 2.7297 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2286 | 0.2463 | model_form_blend |
| predicted_BB | 0.3120 | 0.4640 | 0.3755 | model_form_blend |
| predicted_H | 0.6300 | 0.6120 | 0.6225 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.1000 | 0.1090 | 0.1038 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3349 | 0.3291 | model_form_blend |
| predicted_R | 0.3510 | 0.3500 | 0.3506 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3740 | 0.3658 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3843 | 0.3812 | model_form_blend |
| predicted_SO | 0.7530 | 0.7160 | 0.7375 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 184 |
| Season rows before report date | 184 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| 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 | 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 | 20260705_NYM@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-05 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.3 |
| sl_xwoba | 0.299 |
| sl_xba | 0.226 |
| sl_xslg | 0.339 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 24.0 |
| 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.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.750 | 3.000 | 3.000 | Hitting_AB | 2.714 | 2.000 | 0.286 | 1.000 |
| predicted_AVG | 0.257 | 0.333 | 0.333 | Hitting_AVG | 0.211 | 0.000 | 0.123 | 0.333 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.630 | 1.000 | 1.000 | Hitting_H | 0.571 | 0.000 | 0.429 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.280 | 0.333 | 0.333 | Hitting_OBP | 0.211 | 0.000 | 0.123 | 0.333 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.353 | 0.333 | 0.333 | Hitting_SLG | 0.211 | 0.000 | 0.123 | 0.333 |
| predicted_SO | 0.750 | 0.000 | 1.000 | Hitting_SO | 0.857 | 0.000 | -0.857 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.6300 -> 1.0000 (boost 0.3700, better) |
| Biggest Deboost | predicted_SO: 0.7500 -> 0.0000 (deboost -0.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 | 3 | 2 | 1 | 2 | 1 | predicted_AB: 2.7500 -> 2.9315 (boost 0.1815, better) | predicted_AVG: 0.2570 -> 0.2507 (deboost -0.0063, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2783 -> 0.2462 (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 | 5 | 3 | 2 | 2 | 3 | predicted_H: 0.6888 -> 1.0000 (boost 0.3112, better) | predicted_RBI: 0.3131 -> 0.0000 (deboost -0.3131, worse) | AB rounded to 3 (raw=2.93), rates preserved: AVG=0.235 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.0842 -> 0.0000 (deboost -0.0842, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2350 -> 0.3330 (boost 0.0980, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2350 (deboost -0.0980, worse) | 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.0,
"predicted_3B": 0.0,
"predicted_AB": 2.75,
"predicted_AVG": 0.257,
"predicted_BB": 0.0,
"predicted_H": 0.63,
"predicted_HR": 0.08,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 0.29,
"predicted_SLG": 0.353,
"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.029,
"predicted_3B": 0.0024,
"predicted_AB": 2.9315,
"predicted_AVG": 0.2507,
"predicted_BB": 0.0429,
"predicted_H": 0.6725,
"predicted_HBP": 0.022,
"predicted_HR": 0.0826,
"predicted_OBP": 0.2783,
"predicted_R": 0.0805,
"predicted_RBI": 0.2994,
"predicted_SLG": 0.3519,
"predicted_SO": 0.7696
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.029,
"delta": 0.029,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0024,
"delta": 0.0024,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.75,
"after": 2.9315,
"delta": 0.1815,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2507,
"delta": -0.0063,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0429,
"delta": 0.0429,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.6725,
"delta": 0.0425,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0826,
"delta": 0.0026,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2783,
"delta": -0.0017,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0805,
"delta": 0.0805,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2994,
"delta": 0.0094,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3519,
"delta": -0.0011,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.7696,
"delta": 0.0196,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_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.75,
"after": 2.9315,
"delta": 0.1815,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2507,
"delta": -0.0063,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.029,
"predicted_3B": 0.0024,
"predicted_AB": 2.9315,
"predicted_AVG": 0.235,
"predicted_BB": 0.0435,
"predicted_H": 0.6888,
"predicted_HBP": 0.022,
"predicted_HR": 0.0848,
"predicted_OBP": 0.2462,
"predicted_R": 0.0842,
"predicted_RBI": 0.3131,
"predicted_SLG": 0.3333,
"predicted_SO": 0.7585
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.029,
"after": 0.029,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9315,
"after": 2.9315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.235,
"delta": -0.0157,
"percent_delta": -0.0626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0429,
"after": 0.0435,
"delta": 0.0006,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6725,
"after": 0.6888,
"delta": 0.0163,
"percent_delta": 0.0242,
"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.0826,
"after": 0.0848,
"delta": 0.0022,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2783,
"after": 0.2462,
"delta": -0.0321,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0805,
"after": 0.0842,
"delta": 0.0037,
"percent_delta": 0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2994,
"after": 0.3131,
"delta": 0.0137,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3519,
"after": 0.3333,
"delta": -0.0186,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7696,
"after": 0.7585,
"delta": -0.0111,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2783,
"after": 0.2462,
"delta": -0.0321,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.93), rates preserved: AVG=0.235 HR/AB=0.029",
"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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0,
"delta": -0.0024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9315,
"after": 3.0,
"delta": 0.0685,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0435,
"after": 0.0,
"delta": -0.0435,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6888,
"after": 1.0,
"delta": 0.3112,
"percent_delta": 0.4518,
"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.0848,
"after": 0.0,
"delta": -0.0848,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3131,
"after": 0.0,
"delta": -0.3131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7585,
"after": 1.0,
"delta": 0.2415,
"percent_delta": 0.3184,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6888,
"after": 1.0,
"delta": 0.3112,
"percent_delta": 0.4518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3131,
"after": 0.0,
"delta": -0.3131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0842,
"after": 0.0,
"delta": -0.0842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.0842,
"after": 0.0,
"delta": -0.0842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.333,
"delta": 0.098,
"percent_delta": 0.417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2462,
"after": 0.333,
"delta": 0.0868,
"percent_delta": 0.3526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3333,
"after": 0.333,
"delta": -0.0003,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.235,
"after": 0.333,
"delta": 0.098,
"percent_delta": 0.417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.235,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2462,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3333,
"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.235,
"delta": -0.098,
"percent_delta": -0.2944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2462,
"delta": -0.0868,
"percent_delta": -0.2608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3333,
"delta": 0.0003,
"percent_delta": 0.0008,
"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.235,
"delta": -0.098,
"percent_delta": -0.2944,
"direction": "deboost",
"projection_effect": "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.75,
"after": 3.0,
"delta": 0.25,
"percent_delta": 0.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.235,
"delta": -0.022,
"percent_delta": -0.0856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2462,
"delta": -0.0338,
"percent_delta": -0.1207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.3333,
"delta": -0.0197,
"percent_delta": -0.0558,
"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": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.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.750 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.353 | - |
| 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.029 | 0.029 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.932 | 0.182 |
| predicted_AVG | 0.251 | -0.006 |
| predicted_BB | 0.043 | 0.043 |
| predicted_H | 0.672 | 0.042 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.083 | 0.003 |
| predicted_OBP | 0.278 | -0.002 |
| predicted_R | 0.081 | 0.081 |
| predicted_RBI | 0.299 | 0.009 |
| predicted_SLG | 0.352 | -0.001 |
| predicted_SO | 0.770 | 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.029 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.932 | 0.000 |
| predicted_AVG | 0.235 | -0.016 |
| predicted_BB | 0.043 | 0.001 |
| predicted_H | 0.689 | 0.016 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.085 | 0.002 |
| predicted_OBP | 0.246 | -0.032 |
| predicted_R | 0.084 | 0.004 |
| predicted_RBI | 0.313 | 0.014 |
| predicted_SLG | 0.333 | -0.019 |
| predicted_SO | 0.758 | -0.011 |
AB rounded to 3 (raw=2.93), rates preserved: AVG=0.235 HR/AB=0.029
| 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.029 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.068 |
| predicted_AVG | 0.333 | 0.098 |
| predicted_BB | 0.000 | -0.043 |
| predicted_H | 1.000 | 0.311 |
| predicted_HR | 0.000 | -0.085 |
| predicted_OBP | 0.333 | 0.087 |
| predicted_R | 0.000 | -0.084 |
| predicted_RBI | 0.000 | -0.313 |
| predicted_SLG | 0.333 | -0.000 |
| 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 4 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.2727 |
| season | 0.60 | 4 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1230 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5190 |
| predicted_AVG | 0.2302 |
| predicted_BB | 0.1820 |
| predicted_H | 0.8100 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.2728 |
| predicted_R | 0.3410 |
| predicted_RBI | 0.3300 |
| predicted_SLG | 0.3484 |
| predicted_SO | 0.8330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1230 | 0.0290 | model_form_blend |
| predicted_3B | 0.0000 | 0.0100 | 0.0024 | model_form_blend |
| predicted_AB | 2.7500 | 3.5190 | 2.9315 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2302 | 0.2507 | model_form_blend |
| predicted_BB | 0.0000 | 0.1820 | 0.0429 | model_form_blend |
| predicted_H | 0.6300 | 0.8100 | 0.6725 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0800 | 0.0910 | 0.0826 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2728 | 0.2783 | model_form_blend |
| predicted_R | 0.0000 | 0.3410 | 0.0805 | model_form_blend |
| predicted_RBI | 0.2900 | 0.3300 | 0.2994 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3484 | 0.3519 | model_form_blend |
| predicted_SO | 0.7500 | 0.8330 | 0.7696 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 7 |
| Season rows before report date | 7 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.182 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 805347 |
| playerID | 805347 |
| playerName | Jim Jarvis |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-05 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.162 |
| sl_xwoba | 0.197 |
| sl_xba | 0.208 |
| sl_xslg | 0.239 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | -3.2 |
| sl_whiff_percent | 8.0 |
| sl_swing_percent | 48.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.100 | 1.000 | 0.900 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.950 | 1.000 | 1.050 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 2.250 | 2.000 | 0.750 | 1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 2.525 | 5.000 | 2.475 | 0.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.300 | 6.000 | 1.700 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "625643",
"player_name": "Reynaldo López",
"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": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 14.000 | 2.000 | 8.000 | 4.000 | 12.000 | 0.000 | 1.2857 | 0.8571 | 0.1429 | 0.5714 | 0.2857 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 21.100 | 7.000 | 17.000 | 8.000 | 19.000 | 0.000 | 2.9531 | 1.1719 | 0.3281 | 0.7969 | 0.3750 | 0.8906 | 0.0000 |
| season | 0.20 | 20 | 51.200 | 19.000 | 45.000 | 22.000 | 46.000 | 6.000 | 3.3097 | 1.2968 | 0.3677 | 0.8710 | 0.4258 | 0.8903 | 0.1161 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1430 |
| predicted_ER | 1.0970 |
| predicted_ERA | 3.0160 |
| predicted_H | 2.6050 |
| predicted_HR | 0.2110 |
| predicted_IP | 3.1000 |
| predicted_SO | 2.9520 |
| predicted_WHIP | 1.1443 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.1430 | 1.5617 | model_form_blend |
| predicted_ER | 2.0000 | 1.0970 | 1.5381 | model_form_blend |
| predicted_ERA | - | 3.0160 | 3.0160 | form_only |
| predicted_H | 3.0000 | 2.6050 | 2.7980 | model_form_blend |
| predicted_HR | 1.0000 | 0.2110 | 0.5965 | model_form_blend |
| predicted_IP | 5.0000 | 3.1000 | 4.1000 | model_form_blend |
| predicted_SO | 4.0000 | 2.9520 | 3.4640 | model_form_blend |
| predicted_WHIP | - | 1.1443 | 1.1443 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 20 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 4 |
| HR | 1 |
| BF | 22 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.31 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 4 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 69 |
| Pitching_R | 1 |
| Pitching_SO | 6 |
| Pitching_Strikes | 44 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 625643 |
| playerID | 625643 |
| playerName | Reynaldo López |
| pos | P |
| started | True |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.31 |
| sl_xwoba | 0.331 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 35.6 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 44.6 |
| sl_avg_best_speed | 75.081677432 |
| sl_avg_hyper_speed | 93.412750612 |
| 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.122 | 0.000 | 0.878 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.171 | 0.000 | 0.829 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.512 | 0.000 | 1.488 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.834 | 1.000 | 0.166 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.195 | 3.000 | -1.195 | -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": "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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 4.000 | 0.000 | 7.000 | 0.000 | 5.7857 | 0.8571 | 0.6429 | 0.8571 | 0.0000 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 7.000 | 0.000 | 11.000 | 0.000 | 3.1154 | 0.8077 | 0.3462 | 0.8077 | 0.0000 | 1.2692 | 0.0000 |
| season | 0.20 | 41 | 39.100 | 7.000 | 21.000 | 5.000 | 49.000 | 1.000 | 1.6017 | 0.6610 | 0.1780 | 0.5339 | 0.1271 | 1.2458 | 0.0254 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1550 |
| predicted_ER | 0.4690 |
| predicted_ERA | 4.2183 |
| predicted_H | 0.8510 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2070 |
| predicted_WHIP | 1.0062 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1550 | 0.5902 | model_form_blend |
| predicted_ER | 1.0000 | 0.4690 | 0.7425 | model_form_blend |
| predicted_ERA | - | 4.2183 | 4.2183 | form_only |
| predicted_H | 2.0000 | 0.8510 | 1.4428 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0296 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2070 | 0.5854 | model_form_blend |
| predicted_WHIP | - | 1.0062 | 1.0062 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.60 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260704_NYM@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-04 |
| sl_k_percent | 34.0 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.186 |
| sl_xwoba | 0.211 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 28.9 |
| sl_whiff_percent | 39.2 |
| sl_swing_percent | 54.7 |
| sl_avg_best_speed | 76.672550455 |
| sl_avg_hyper_speed | 92.54406931 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.179 | 1.000 | -0.179 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.893 | 3.000 | 1.107 | -1.000 |
| predicted_IP | 2.100 | 2.100 | 2.100 | Pitching_InningsPitched | 1.014 | 1.000 | 1.086 | 1.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.143 | 1.000 | -1.143 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 2.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.1,
"delta": 1.1,
"percent_delta": 1.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 2.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 | 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 | 1.000 | 5.000 | 0.000 | 4.000 | 0.000 | 1.8000 | 1.0000 | 0.2000 | 1.0000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 3.000 | 11.000 | 3.000 | 10.000 | 1.000 | 2.5312 | 1.3125 | 0.2812 | 1.0312 | 0.2812 | 0.9375 | 0.0938 |
| season | 0.20 | 28 | 29.100 | 5.000 | 25.000 | 6.000 | 32.000 | 1.000 | 1.5341 | 1.0568 | 0.1704 | 0.8523 | 0.2046 | 1.0909 | 0.0341 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2400 |
| predicted_ER | 0.3530 |
| predicted_ERA | 3.1739 |
| predicted_H | 0.9760 |
| predicted_HR | 0.0900 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9280 |
| predicted_WHIP | 1.2160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2400 | 0.1091 | model_form_blend |
| predicted_ER | 0.0000 | 0.3530 | 0.1605 | model_form_blend |
| predicted_ERA | - | 3.1739 | 3.1739 | form_only |
| predicted_H | 2.0000 | 0.9760 | 1.5344 | model_form_blend |
| predicted_HR | 0.0000 | 0.0900 | 0.0409 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9280 | 0.4220 | model_form_blend |
| predicted_WHIP | - | 1.2160 | 1.2160 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.1 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 9 |
| Pitches | 35 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.53 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260703_NYM@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-03 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.258 |
| sl_xwoba | 0.245 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 31.6 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 53.7 |
| sl_avg_best_speed | 77.528174474 |
| sl_avg_hyper_speed | 92.793222667 |
| 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.314 | 0.000 | -0.314 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.771 | 0.000 | 1.229 | 2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.789 | 0.200 | -0.589 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.914 | 0.000 | 0.086 | 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": "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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 3.000 | 3.000 | 2.000 | 1.000 | 1.000 | 7.3636 | 1.3636 | 0.8182 | 0.8182 | 0.5454 | 0.2727 | 0.2727 |
| last_10 | 0.35 | 10 | 8.200 | 4.000 | 8.000 | 2.000 | 7.000 | 2.000 | 4.1538 | 1.1538 | 0.4615 | 0.9231 | 0.2308 | 0.8077 | 0.2308 |
| season | 0.20 | 35 | 31.100 | 13.000 | 27.000 | 11.000 | 32.000 | 6.000 | 3.7340 | 1.2128 | 0.4149 | 0.8617 | 0.3511 | 1.0213 | 0.1915 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2910 |
| predicted_ER | 0.4330 |
| predicted_ERA | 5.0783 |
| predicted_H | 0.7000 |
| predicted_HR | 0.1540 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5860 |
| predicted_WHIP | 1.2899 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2910 | 0.1343 | model_form_blend |
| predicted_ER | 0.0000 | 0.4330 | 0.1999 | model_form_blend |
| predicted_ERA | - | 5.0783 | 5.0783 | form_only |
| predicted_H | 2.0000 | 0.7000 | 1.3999 | model_form_blend |
| predicted_HR | 0.0000 | 0.1540 | 0.0711 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5860 | 0.8089 | model_form_blend |
| predicted_WHIP | - | 1.2899 | 1.2899 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.2 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.73 |
| 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 | 0.2 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260705_NYM@ATL |
| game_type | full |
| mlbID | 641755 |
| playerID | 641755 |
| playerName | Tyler Kinley |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-05 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.311 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 25.6 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 72.437683256 |
| sl_avg_hyper_speed | 92.268546588 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | NYY 2 - 4 TB | TB | 0.630 | scoring_simulation.final_score | True |
| Simulation draw | NYY 2 - 4 TB | 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 | 6.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6300 |
| 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.026 | 4.185 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 5 | 0.6300 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 2 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 2 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 2 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6458313566141081,
"base_low_score_probability": 0.4197786998616874,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.22605265675242064,
"confidence": 0.8692521760000002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.4520000000000002,
"team_form": 1.06,
"situational": 1.0,
"combined": 1.5385043520000004
},
"prediction": "low_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 6.6,
"low_score_model_expected_total_runs": 6.6,
"final_simulation_total_runs": 6,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 31,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 14,
"wide_bucket_sample_size": 31,
"global_sample_size": 117,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.7419,
"bayesian_hit_rate": 0.6531,
"sample_weight": 0.5378,
"prior_strength": 18.0,
"reliability": 0.6327,
"confidence_cap": 0.78,
"raw_pick_probability": 0.7238,
"calibrated_pick_probability": 0.6672,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "TB",
"games": 87,
"wins": 52,
"losses": 35,
"win_pct": 0.5977011494252874,
"runs_scored": 396,
"runs_allowed": 361,
"run_differential": 35,
"run_differential_per_game": 0.40229885057471265,
"available": true
},
"away": {
"team": "NYY",
"games": 89,
"wins": 49,
"losses": 40,
"win_pct": 0.550561797752809,
"runs_scored": 427,
"runs_allowed": 349,
"run_differential": 78,
"run_differential_per_game": 0.8764044943820225,
"available": true
},
"run_differential_edge_per_game": -0.4741,
"win_pct_edge": 0.0471,
"quality_edge": -0.4034,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"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": "NYY",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYY 2 - 4 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYY 2 - 4 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"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": 2,
"final_margin": 2,
"winner_quality_edge": -0.4034,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "TB",
"games": 87,
"wins": 52,
"losses": 35,
"win_pct": 0.5977011494252874,
"runs_scored": 396,
"runs_allowed": 361,
"run_differential": 35,
"run_differential_per_game": 0.40229885057471265,
"available": true
},
"away": {
"team": "NYY",
"games": 89,
"wins": 49,
"losses": 40,
"win_pct": 0.550561797752809,
"runs_scored": 427,
"runs_allowed": 349,
"run_differential": 78,
"run_differential_per_game": 0.8764044943820225,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.8548,
"final_margin": 0.8548,
"margin_cap": 1.5,
"season_quality_edge": 0.4034,
"reason": "raw target margin within supported range"
}{
"applied": true,
"raw_confidence": 0.667163,
"final_confidence": 0.63,
"confidence_cap": 0.63,
"score_gap": 2.6324,
"calibration_sample_size": 31,
"calibration_empirical_hit_rate": 0.7419,
"calibration_bayesian_hit_rate": 0.6531,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4034,
"reasons": [
"unvalidated probabilities are capped for production display",
"local calibration sample has at least 30 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYY 2 - 4 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYY 2 - 4 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"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": 2,
"final_margin": 2,
"winner_quality_edge": -0.4034,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 2,
"home_runs": 4,
"confidence": 0.63,
"home_win_probability": 0.63,
"away_win_probability": 0.37,
"predicted_score_text": "NYY 2 - 4 TB",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "NYY",
"original_runs": 2,
"run_delta": 0.0713,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.17496238531062375,
"contact": 0.10751373141028467,
"power": 0.24142923380959624,
"discipline": 0.12764318626084006,
"xwoba": 0.3194848484848485,
"recent_xwoba": 0.3194848484848485,
"barrel": 8.863636363636363,
"ab_hard_contact": 0.26252407013131995,
"ab_bat_speed": 70.02300288709657,
"ab_strikeout_rate": 0.21402131590366194,
"available_players": 9,
"top_players": [
{
"player_id": "700250",
"player_name": "Ben Rice",
"position": "DH",
"weight": 4.0,
"quality": 0.8573854270175941,
"contact": 0.9233684462705093,
"power": 1.2625970620162814,
"discipline": 0.41497278911564595,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 14.0,
"ab_hard_contact": 0.7944174308018231,
"ab_bat_speed": 70.94105952380953,
"ab_strikeout_rate": 0.23469387755102042,
"available": 1.0
},
{
"player_id": "676609",
"player_name": "José Caballero",
"position": "SS",
"weight": 3.0,
"quality": -0.7475711915251193,
"contact": -1.0689586616228064,
"power": -1.1507670347382173,
"discipline": -0.37402645502645515,
"xwoba": 0.273,
"recent_xwoba": 0.273,
"barrel": 3.1,
"ab_hard_contact": -1.2618168852405454,
"ab_bat_speed": 65.39745987654321,
"ab_strikeout_rate": 0.1774074074074074,
"available": 1.0
},
{
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"weight": 4.0,
"quality": 0.7397337866906254,
"contact": 0.7713973265369014,
"power": 0.7906852244349297,
"discipline": 1.1441484593837532,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 11.6,
"ab_hard_contact": 0.005323536317639488,
"ab_bat_speed": 67.3272961406785,
"ab_strikeout_rate": 0.20980392156862743,
"available": 1.0
},
{
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "LF",
"weight": 4.0,
"quality": 0.5710685823928887,
"contact": 0.7501980833507378,
"power": 0.2010618627355275,
"discipline": 1.1088253968253967,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 7.1000000000000005,
"ab_hard_contact": 0.7888563023295995,
"ab_bat_speed": 69.28407278806584,
"ab_strikeout_rate": 0.13055555555555556,
"available": 1.0
},
{
"player_id": "641857",
"player_name": "Ryan McMahon",
"position": "3B",
"weight": 3.0,
"quality": 0.14222998940553574,
"contact": 0.03721523305168065,
"power": 0.5787951054930714,
"discipline": -0.5967608695652176,
"xwoba": 0.309,
"recent_xwoba": 0.309,
"barrel": 11.1,
"ab_hard_contact": 0.2490449670042979,
"ab_bat_speed": 71.45517598343686,
"ab_strikeout_rate": 0.3199275362318841,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "643377",
"player_name": "Griffin Jax",
"quality": -0.1604950496490047,
"contact": -0.8342521865891662,
"command": 0.2999999999999998,
"movement": 0.6676616750272387,
"xwoba": 0.354,
"whiff": 30.4,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "TB",
"original_runs": 5,
"run_delta": -0.5416,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.022757129017721978,
"contact": -0.008821448776249213,
"power": -0.3146163504814504,
"discipline": 0.4435017255777703,
"xwoba": 0.31149999999999994,
"recent_xwoba": 0.31149999999999994,
"barrel": 5.465625000000001,
"ab_hard_contact": -0.018255581057581877,
"ab_bat_speed": 68.96028596733682,
"ab_strikeout_rate": 0.17218949466032477,
"available_players": 9,
"top_players": [
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 4.0,
"quality": 1.2123735772138942,
"contact": 1.3285365293795774,
"power": 1.471725379833785,
"discipline": 0.8086208791208791,
"xwoba": 0.374,
"recent_xwoba": 0.374,
"barrel": 13.300000000000002,
"ab_hard_contact": 1.0794599776280678,
"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.9312694352541961,
"contact": -0.7778465870285249,
"power": -1.59958228101966,
"discipline": 0.5421872082166198,
"xwoba": 0.26,
"recent_xwoba": 0.26,
"barrel": 0.0,
"ab_hard_contact": -1.3013599061074785,
"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.6897075017867721,
"contact": -1.3080054834133945,
"power": -1.3932601180365198,
"discipline": 0.5083057644110274,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 3.3,
"ab_hard_contact": -1.3177737893018184,
"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.8781137932871977,
"contact": 1.3473879699248117,
"power": 0.5843113719683322,
"discipline": 0.8614285714285712,
"xwoba": 0.368,
"recent_xwoba": 0.368,
"barrel": 7.2,
"ab_hard_contact": 1.3330845822237793,
"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.7694955012995841,
"contact": 0.9127989589358011,
"power": 0.7128564073529473,
"discipline": 0.6694340659340658,
"xwoba": 0.367,
"recent_xwoba": 0.367,
"barrel": 9.8,
"ab_hard_contact": 1.2110329089637062,
"ab_bat_speed": 69.23668742368741,
"ab_strikeout_rate": 0.2310897435897436,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "693645",
"player_name": "Cam Schlittler",
"quality": 0.5333790253260414,
"contact": 0.46366699642440456,
"command": 0.6425714285714286,
"movement": 1.407735435867353,
"xwoba": 0.277,
"whiff": 27.5,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 2,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 2,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": -0.4034,
"recent_form_edge_home_minus_away": 1.612,
"pitcher_matchup_edge_home_minus_away": 0.2665,
"composite_home_edge": 1.1274,
"existing_home_win_probability": 0.6672,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 1.1274
},
"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": 4,
"predicted_score_text": "NYY 2 - 4 TB",
"confidence": 0.63,
"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": 4,
"score_text": "NYY 2 - 4 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYY 2 - 4 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"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": 2,
"final_margin": 2,
"winner_quality_edge": -0.4034,
"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.63,
"internal_fair_probability": 0.5969,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.0729,
"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.4034,
"winner_recent_form_edge": 1.612,
"winner_pitcher_matchup_edge": 0.2665,
"winner_simulation_draw_rate": 0.375,
"blowout_draw_rate_margin_4_plus": 0.25,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.4375,
"total_runs_spread": {
"min": 1,
"median": 7,
"max": 9,
"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 NYY | True | 1.0208 | 1.0208 | 1 | 9 | 0 |
| Home TB | True | 1.0009 | 1.0009 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Paul Goldschmidt | 114 | 1.0125 | 0.1663 | negative_batter_regression | 0.3280 | 0.2460 | 0.4480 | 11.80 | 38.80 | 86.80 | 14.30 | 24.50 | 20.50 | 7.10 | -1 |
| LF | Cody Bellinger | 12 | 1.0635 | 0.8464 | neutral | 0.3560 | 0.2760 | 0.4280 | 7.10 | 37.40 | 89 | 18.50 | 19.10 | 14.20 | 13.40 | 0.4571 |
| CF | Trent Grisham | 129 | 1.0713 | 0.9505 | neutral | 0.3530 | 0.2530 | 0.4480 | 11.60 | 46.30 | 90.90 | 17.40 | 16.80 | 16.70 | 14.20 | 0.4857 |
| DH | Ben Rice | 71 | 1.0836 | 1.1143 | neutral | 0.3690 | 0.2640 | 0.4940 | 14 | 45.90 | 91.70 | 14.10 | 25.10 | 23.30 | 12.20 | -0.6000 |
| RF | Jasson Domínguez | 259 | 0.9975 | -0.0335 | neutral | 0.2900 | 0.2610 | 0.3640 | 4.80 | 40.50 | 89.90 | 14.30 | 26.70 | 20.40 | 3.50 | 0.2286 |
| 2B | Jazz Chisholm Jr. | 189 | 0.9892 | -0.1445 | neutral | 0.2940 | 0.2090 | 0.3660 | 8.90 | 40.90 | 90.70 | 16.10 | 31.70 | 28.90 | 10.40 | -0.4571 |
| SS | José Caballero | 177 | 0.9526 | -0.6316 | neutral | 0.2730 | 0.2270 | 0.3250 | 3.10 | 25.10 | 83.90 | 11.90 | 27.20 | 22.30 | 5.80 | -0.8000 |
| C | Austin Wells | 482 | 0.9940 | -0.0796 | positive_batter_regression | 0.2790 | 0.2040 | 0.3350 | 5.70 | 43.40 | 89 | 18.40 | 30.30 | 27.90 | 11.40 | 1.6000 |
| 3B | Ryan McMahon | 317 | 1.0226 | 0.3010 | neutral | 0.3090 | 0.2360 | 0.4070 | 11.10 | 48.80 | 90.60 | 11.50 | 31.70 | 30.60 | 8.10 | 0.7714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Yandy Díaz | 43 | 1.0682 | 0.9095 | neutral | 0.3680 | 0.2930 | 0.4510 | 7.20 | 47.50 | 90.90 | 5.70 | 15 | 14 | 10.20 | -0.5714 |
| 1B | Jonathan Aranda | 106 | 1.0773 | 1.0303 | neutral | 0.3670 | 0.2680 | 0.4540 | 9.80 | 43.60 | 90.70 | 13.50 | 21.60 | 22.10 | 13 | -0.0286 |
| 3B | Junior Caminero | 9 | 1.0957 | 1.2763 | neutral | 0.3740 | 0.2750 | 0.5100 | 13.30 | 51.70 | 93.40 | 8.90 | 22.40 | 17.80 | 12.90 | -0.6857 |
| CF | Cedric Mullins | 217 | 0.9530 | -0.6272 | neutral | 0.2680 | 0.1920 | 0.3210 | 3.90 | 30.90 | 88.40 | 28.20 | 22 | 19.60 | 8.40 | -0.6000 |
| RF | Jonny DeLuca | 193 | 0.9828 | -0.2289 | negative_batter_regression | 0.2940 | 0.2540 | 0.3750 | 4.10 | 29.50 | 85.30 | 14.90 | 27.40 | 19.60 | 5.50 | -1.0857 |
| C | Nick Fortes | 368 | 0.9686 | -0.4180 | neutral | 0.2720 | 0.2400 | 0.3260 | 1.80 | 37.10 | 86.10 | 8.20 | 14.70 | 12 | 2.40 | -0.4857 |
| 2B | Richie Palacios | 295 | 0.9909 | -0.1218 | neutral | 0.3060 | 0.2440 | 0.3280 | 3.50 | 25 | 86.20 | 13.20 | 22.60 | 18.60 | 11.40 | 0.2571 |
| LF | Chandler Simpson | 197 | 0.9197 | -1.0711 | neutral | 0.2600 | 0.2500 | 0.2860 | 0 | 14.20 | 84.10 | 1.60 | 10.90 | 10.10 | 5.50 | -0.8000 |
| SS | Taylor Walls | 70 | 0.9523 | -0.6357 | neutral | 0.2680 | 0.1970 | 0.2720 | 3.30 | 22.10 | 85.10 | 20.50 | 21.90 | 23.70 | 12.20 | -0.6857 |
{
"home": {
"applied": true,
"offense_factor": 1.0009,
"raw_average_factor": 1.0009,
"team_espn_average_rank": 166.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0682,
"quality_score": 0.9095,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650490",
"espn_id": 33481,
"player_name": "Yandy Diaz",
"team": "TB",
"role": "batter",
"espn_rank": 43,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 43,
"gp_value": 83.0,
"gp_rank": 96,
"ab_value": 315.0,
"ab_rank": 71,
"r_value": 46.0,
"r_rank": 53,
"h_value": 101.0,
"h_rank": 4,
"avg_value": 0.3206349,
"avg_rank": 3.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 12.0,
"hr_rank": 80,
"rbi_value": 53.0,
"rbi_rank": 29,
"tb_value": 154.0,
"tb_rank": 496,
"bb_value": 37.0,
"bb_rank": 48,
"so_value": 51.0,
"so_rank": 179,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.4038461,
"obp_rank": "4",
"slg_value": 0.4888888,
"slg_rank": "34",
"ops_value": 0.8927349,
"ops_rank": 30.0,
"war_value": 2.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 14.0,
"bb_percent": 10.2,
"woba": 0.388,
"xwoba": 0.368,
"xba": 0.293,
"xslg": 0.451,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 47.5,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 5.7,
"whiff_percent": 15.0,
"swing_percent": 45.7
},
"components": {
"expected_quality": 1.1802,
"regression_edge": -0.5714,
"xwoba_edge": 1.8857,
"xba_edge": 1.5429,
"xslg_edge": 1.1214,
"barrel_edge": 0.0444,
"hard_hit_edge": 1.3214,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0773,
"quality_score": 1.0303,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666018",
"espn_id": 40810,
"player_name": "Jonathan Aranda",
"team": "TB",
"role": "batter",
"espn_rank": 106,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 106,
"gp_value": 86.0,
"gp_rank": 50,
"ab_value": 314.0,
"ab_rank": 74,
"r_value": 45.0,
"r_rank": 63,
"h_value": 90.0,
"h_rank": 31,
"avg_value": 0.2866242,
"avg_rank": 25.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 13.0,
"hr_rank": 64,
"rbi_value": 58.0,
"rbi_rank": 14,
"tb_value": 142.0,
"tb_rank": 775,
"bb_value": 49.0,
"bb_rank": 16,
"so_value": 83.0,
"so_rank": 49,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3882978,
"obp_rank": "11",
"slg_value": 0.4522292,
"slg_rank": "61",
"ops_value": 0.840527,
"ops_rank": 72.0,
"war_value": 1.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 22.1,
"bb_percent": 13.0,
"woba": 0.368,
"xwoba": 0.367,
"xba": 0.268,
"xslg": 0.454,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 13.5,
"whiff_percent": 21.6,
"swing_percent": 44.5
},
"components": {
"expected_quality": 1.2027,
"regression_edge": -0.0286,
"xwoba_edge": 1.8571,
"xba_edge": 0.8286,
"xslg_edge": 1.1643,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.7643,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.0957,
"quality_score": 1.2763,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691406",
"espn_id": 4905921,
"player_name": "Junior Caminero",
"team": "TB",
"role": "batter",
"espn_rank": 9,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 9,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 330.0,
"ab_rank": 32,
"r_value": 57.0,
"r_rank": 16,
"h_value": 95.0,
"h_rank": 15,
"avg_value": 0.2878787,
"avg_rank": 23.0,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 26.0,
"hr_rank": 4,
"rbi_value": 56.0,
"rbi_rank": 18,
"tb_value": 185.0,
"tb_rank": 579,
"bb_value": 49.0,
"bb_rank": 16,
"so_value": 68.0,
"so_rank": 96,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3779527,
"obp_rank": "19",
"slg_value": 0.560606,
"slg_rank": "4",
"ops_value": 0.9385587,
"ops_rank": 23.0,
"war_value": 3.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 17.8,
"bb_percent": 12.9,
"woba": 0.398,
"xwoba": 0.374,
"xba": 0.275,
"xslg": 0.51,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 51.7,
"exit_velocity_avg": 93.4,
"launch_angle_avg": 8.9,
"whiff_percent": 22.4,
"swing_percent": 41.9
},
"components": {
"expected_quality": 1.5957,
"regression_edge": -0.6857,
"xwoba_edge": 2.0571,
"xba_edge": 1.0286,
"xslg_edge": 1.9643,
"barrel_edge": 1.4,
"hard_hit_edge": 1.9214,
"exit_velocity_edge": 1.84,
"sweet_spot_edge": -1.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "656775",
"player_name": "Cedric Mullins",
"offense_factor": 0.953,
"quality_score": -0.6272,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656775",
"espn_id": 35578,
"player_name": "Cedric Mullins",
"team": "TB",
"role": "batter",
"espn_rank": 217,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 217,
"gp_value": 76.0,
"gp_rank": 148,
"ab_value": 258.0,
"ab_rank": 134,
"r_value": 31.0,
"r_rank": 161,
"h_value": 55.0,
"h_rank": 173,
"avg_value": 0.2131782,
"avg_rank": 150.0,
"2b_value": 4.0,
"2b_rank": 340,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 29.0,
"rbi_rank": 166,
"tb_value": 91.0,
"tb_rank": 996,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 58.0,
"so_rank": 145,
"sb_value": 14.0,
"sb_rank": 23,
"obp_value": 0.2931034,
"obp_rank": "144",
"slg_value": 0.3527131,
"slg_rank": "138",
"ops_value": 0.6458165,
"ops_rank": 282.0,
"war_value": 0.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 19.6,
"bb_percent": 8.4,
"woba": 0.289,
"xwoba": 0.268,
"xba": 0.192,
"xslg": 0.321,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 30.9,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 28.2,
"whiff_percent": 22.0,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.8139,
"regression_edge": -0.6,
"xwoba_edge": -0.9714,
"xba_edge": -1.3429,
"xslg_edge": -0.7357,
"barrel_edge": -0.6889,
"hard_hit_edge": -1.05,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.85,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"offense_factor": 0.9828,
"quality_score": -0.2289,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676356",
"espn_id": 5005912,
"player_name": "Jonny DeLuca",
"team": "TB",
"role": "batter",
"espn_rank": 193,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 193,
"gp_value": 53.0,
"gp_rank": 275,
"ab_value": 152.0,
"ab_rank": 274,
"r_value": 22.0,
"r_rank": 232,
"h_value": 41.0,
"h_rank": 242,
"avg_value": 0.2697368,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 25.0,
"rbi_rank": 202,
"tb_value": 69.0,
"tb_rank": 1448,
"bb_value": 9.0,
"bb_rank": 344,
"so_value": 32.0,
"so_rank": 298,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.310559,
"obp_rank": "-",
"slg_value": 0.4539473,
"slg_rank": "-",
"ops_value": 0.7645063,
"ops_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 120.0,
"k_percent": 19.6,
"bb_percent": 5.5,
"woba": 0.332,
"xwoba": 0.294,
"xba": 0.254,
"xslg": 0.375,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 29.5,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 14.9,
"whiff_percent": 27.4,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.3111,
"regression_edge": -1.0857,
"xwoba_edge": -0.2286,
"xba_edge": 0.4286,
"xslg_edge": 0.0357,
"barrel_edge": -0.6444,
"hard_hit_edge": -1.25,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663743",
"player_name": "Nick Fortes",
"offense_factor": 0.9686,
"quality_score": -0.418,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663743",
"espn_id": 41674,
"player_name": "Nick Fortes",
"team": "TB",
"role": "batter",
"espn_rank": 368,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 368,
"gp_value": 67.0,
"gp_rank": 197,
"ab_value": 193.0,
"ab_rank": 224,
"r_value": 21.0,
"r_rank": 240,
"h_value": 50.0,
"h_rank": 199,
"avg_value": 0.2590673,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 2.0,
"hr_rank": 341,
"rbi_value": 19.0,
"rbi_rank": 255,
"tb_value": 67.0,
"tb_rank": 1819,
"bb_value": 5.0,
"bb_rank": 410,
"so_value": 25.0,
"so_rank": 348,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3009708,
"obp_rank": "-",
"slg_value": 0.3471502,
"slg_rank": "-",
"ops_value": 0.648121,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 133.0,
"k_percent": 12.0,
"bb_percent": 2.4,
"woba": 0.289,
"xwoba": 0.272,
"xba": 0.24,
"xslg": 0.326,
"sweet_spot_percent": 21.6,
"barrel_batted_rate": 1.8,
"hard_hit_percent": 37.1,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 8.2,
"whiff_percent": 14.7,
"swing_percent": 52.7
},
"components": {
"expected_quality": -0.725,
"regression_edge": -0.4857,
"xwoba_edge": -0.8571,
"xba_edge": 0.0286,
"xslg_edge": -0.6643,
"barrel_edge": -1.1556,
"hard_hit_edge": -0.1643,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": -1.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "680700",
"player_name": "Richie Palacios",
"offense_factor": 0.9909,
"quality_score": -0.1218,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680700",
"espn_id": 41359,
"player_name": "Richie Palacios",
"team": "TB",
"role": "batter",
"espn_rank": 295,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 295,
"gp_value": 64.0,
"gp_rank": 213,
"ab_value": 182.0,
"ab_rank": 241,
"r_value": 25.0,
"r_rank": 204,
"h_value": 42.0,
"h_rank": 237,
"avg_value": 0.2307692,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 273,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 2.0,
"hr_rank": 341,
"rbi_value": 24.0,
"rbi_rank": 213,
"tb_value": 58.0,
"tb_rank": 1587,
"bb_value": 24.0,
"bb_rank": 146,
"so_value": 39.0,
"so_rank": 250,
"sb_value": 8.0,
"sb_rank": 69,
"obp_value": 0.3285714,
"obp_rank": "-",
"slg_value": 0.3186813,
"slg_rank": "-",
"ops_value": 0.6472527,
"ops_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 18.6,
"bb_percent": 11.4,
"woba": 0.297,
"xwoba": 0.306,
"xba": 0.244,
"xslg": 0.328,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 25.0,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 13.2,
"whiff_percent": 22.6,
"swing_percent": 46.1
},
"components": {
"expected_quality": -0.3175,
"regression_edge": 0.2571,
"xwoba_edge": 0.1143,
"xba_edge": 0.1429,
"xslg_edge": -0.6357,
"barrel_edge": -0.7778,
"hard_hit_edge": -1.8929,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "802415",
"player_name": "Chandler Simpson",
"offense_factor": 0.9197,
"quality_score": -1.0711,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802415",
"espn_id": 4679983,
"player_name": "Chandler Simpson",
"team": "TB",
"role": "batter",
"espn_rank": 197,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 197,
"gp_value": 82.0,
"gp_rank": 108,
"ab_value": 303.0,
"ab_rank": 90,
"r_value": 35.0,
"r_rank": 129,
"h_value": 84.0,
"h_rank": 55,
"avg_value": 0.2772277,
"avg_rank": 38.0,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 4.0,
"3b_rank": 7,
"hr_value": 0.0,
"hr_rank": 470,
"rbi_value": 16.0,
"rbi_rank": 284,
"tb_value": 100.0,
"tb_rank": 1697,
"bb_value": 18.0,
"bb_rank": 206,
"so_value": 33.0,
"so_rank": 291,
"sb_value": 21.0,
"sb_rank": 6,
"obp_value": 0.3157894,
"obp_rank": "107",
"slg_value": 0.330033,
"slg_rank": "153",
"ops_value": 0.6458224,
"ops_rank": 46.0,
"war_value": 0.68,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 10.1,
"bb_percent": 5.5,
"woba": 0.288,
"xwoba": 0.26,
"xba": 0.25,
"xslg": 0.286,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 14.2,
"exit_velocity_avg": 84.1,
"launch_angle_avg": 1.6,
"whiff_percent": 10.9,
"swing_percent": 46.2
},
"components": {
"expected_quality": -1.1383,
"regression_edge": -0.8,
"xwoba_edge": -1.2,
"xba_edge": 0.3143,
"xslg_edge": -1.2357,
"barrel_edge": -1.5556,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.88,
"sweet_spot_edge": -1.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.9523,
"quality_score": -0.6357,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670764",
"espn_id": 40576,
"player_name": "Taylor Walls",
"team": "TB",
"role": "batter",
"espn_rank": 70,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 70,
"gp_value": 69.0,
"gp_rank": 184,
"ab_value": 205.0,
"ab_rank": 202,
"r_value": 34.0,
"r_rank": 140,
"h_value": 47.0,
"h_rank": 210,
"avg_value": 0.2292682,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 0.0,
"hr_rank": 470,
"rbi_value": 20.0,
"rbi_rank": 247,
"tb_value": 62.0,
"tb_rank": 1825,
"bb_value": 30.0,
"bb_rank": 91,
"so_value": 58.0,
"so_rank": 145,
"sb_value": 13.0,
"sb_rank": 28,
"obp_value": 0.3305439,
"obp_rank": "-",
"slg_value": 0.302439,
"slg_rank": "-",
"ops_value": 0.6329829,
"ops_rank": null,
"war_value": 1.93,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 23.7,
"bb_percent": 12.2,
"woba": 0.292,
"xwoba": 0.268,
"xba": 0.197,
"xslg": 0.272,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 22.1,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 20.5,
"whiff_percent": 21.9,
"swing_percent": 42.4
},
"components": {
"expected_quality": -1.0582,
"regression_edge": -0.6857,
"xwoba_edge": -0.9714,
"xba_edge": -1.2,
"xslg_edge": -1.4357,
"barrel_edge": -0.8222,
"hard_hit_edge": -2.3071,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0208,
"raw_average_factor": 1.0208,
"team_espn_average_rank": 194.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"offense_factor": 1.0125,
"quality_score": 0.1663,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "502671",
"espn_id": 31027,
"player_name": "Paul Goldschmidt",
"team": "NYY",
"role": "batter",
"espn_rank": 114,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 114,
"gp_value": 62.0,
"gp_rank": 221,
"ab_value": 218.0,
"ab_rank": 180,
"r_value": 31.0,
"r_rank": 161,
"h_value": 59.0,
"h_rank": 153,
"avg_value": 0.2706422,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 196,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 14.0,
"hr_rank": 48,
"rbi_value": 41.0,
"rbi_rank": 77,
"tb_value": 112.0,
"tb_rank": 679,
"bb_value": 17.0,
"bb_rank": 214,
"so_value": 49.0,
"so_rank": 193,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3305439,
"obp_rank": "-",
"slg_value": 0.5137614,
"slg_rank": "-",
"ops_value": 0.8443053,
"ops_rank": null,
"war_value": 1.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 107.0,
"k_percent": 20.5,
"bb_percent": 7.1,
"woba": 0.363,
"xwoba": 0.328,
"xba": 0.246,
"xslg": 0.448,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 14.3,
"whiff_percent": 24.5,
"swing_percent": 48.8
},
"components": {
"expected_quality": 0.5604,
"regression_edge": -1.0,
"xwoba_edge": 0.7429,
"xba_edge": 0.2,
"xslg_edge": 1.0786,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.0786,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "641355",
"player_name": "Cody Bellinger",
"offense_factor": 1.0635,
"quality_score": 0.8464,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641355",
"espn_id": 33912,
"player_name": "Cody Bellinger",
"team": "NYY",
"role": "batter",
"espn_rank": 12,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 12,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 319.0,
"ab_rank": 60,
"r_value": 46.0,
"r_rank": 53,
"h_value": 80.0,
"h_rank": 72,
"avg_value": 0.2507836,
"avg_rank": 88.0,
"2b_value": 17.0,
"2b_rank": 42,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 11.0,
"hr_rank": 86,
"rbi_value": 50.0,
"rbi_rank": 39,
"tb_value": 136.0,
"tb_rank": 392,
"bb_value": 50.0,
"bb_rank": 14,
"so_value": 53.0,
"so_rank": 165,
"sb_value": 10.0,
"sb_rank": 48,
"obp_value": 0.3475935,
"obp_rank": "47",
"slg_value": 0.4263322,
"slg_rank": "80",
"ops_value": 0.7739257,
"ops_rank": 127.0,
"war_value": 3.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 230.0,
"k_percent": 14.2,
"bb_percent": 13.4,
"woba": 0.34,
"xwoba": 0.356,
"xba": 0.276,
"xslg": 0.428,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 18.5,
"whiff_percent": 19.1,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.9098,
"regression_edge": 0.4571,
"xwoba_edge": 1.5429,
"xba_edge": 1.0571,
"xslg_edge": 0.7929,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.1214,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.9667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "663757",
"player_name": "Trent Grisham",
"offense_factor": 1.0713,
"quality_score": 0.9505,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663757",
"espn_id": 34995,
"player_name": "Trent Grisham",
"team": "NYY",
"role": "batter",
"espn_rank": 129,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 129,
"gp_value": 69.0,
"gp_rank": 184,
"ab_value": 233.0,
"ab_rank": 165,
"r_value": 44.0,
"r_rank": 71,
"h_value": 55.0,
"h_rank": 173,
"avg_value": 0.2360515,
"avg_rank": 119.0,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 9.0,
"hr_rank": 118,
"rbi_value": 37.0,
"rbi_rank": 102,
"tb_value": 98.0,
"tb_rank": 711,
"bb_value": 39.0,
"bb_rank": 43,
"so_value": 46.0,
"so_rank": 210,
"sb_value": 7.0,
"sb_rank": 77,
"obp_value": 0.3418181,
"obp_rank": "61",
"slg_value": 0.4206008,
"slg_rank": "88",
"ops_value": 0.7624189,
"ops_rank": 27.0,
"war_value": 1.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 16.7,
"bb_percent": 14.2,
"woba": 0.336,
"xwoba": 0.353,
"xba": 0.253,
"xslg": 0.448,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 17.4,
"whiff_percent": 16.8,
"swing_percent": 36.7
},
"components": {
"expected_quality": 1.0956,
"regression_edge": 0.4857,
"xwoba_edge": 1.4571,
"xba_edge": 0.4,
"xslg_edge": 1.0786,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.15,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "700250",
"player_name": "Ben Rice",
"offense_factor": 1.0836,
"quality_score": 1.1143,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700250",
"espn_id": 5016968,
"player_name": "Ben Rice",
"team": "NYY",
"role": "batter",
"espn_rank": 71,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 71,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 311.0,
"ab_rank": 81,
"r_value": 58.0,
"r_rank": 13,
"h_value": 83.0,
"h_rank": 59,
"avg_value": 0.266881,
"avg_rank": 54.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 24.0,
"hr_rank": 6,
"rbi_value": 56.0,
"rbi_rank": 18,
"tb_value": 174.0,
"tb_rank": 169,
"bb_value": 44.0,
"bb_rank": 28,
"so_value": 84.0,
"so_rank": 43,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3611111,
"obp_rank": "37",
"slg_value": 0.5594855,
"slg_rank": "6",
"ops_value": 0.9205966,
"ops_rank": 31.0,
"war_value": 1.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 23.3,
"bb_percent": 12.2,
"woba": 0.39,
"xwoba": 0.369,
"xba": 0.264,
"xslg": 0.494,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 14.0,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 14.1,
"whiff_percent": 25.1,
"swing_percent": 43.0
},
"components": {
"expected_quality": 1.4747,
"regression_edge": -0.6,
"xwoba_edge": 1.9143,
"xba_edge": 0.7143,
"xslg_edge": 1.7357,
"barrel_edge": 1.5556,
"hard_hit_edge": 1.0929,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "691176",
"player_name": "Jasson Domínguez",
"offense_factor": 0.9975,
"quality_score": -0.0335,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691176",
"espn_id": 42401,
"player_name": "Jasson Dominguez",
"team": "NYY",
"role": "batter",
"espn_rank": 259,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 259,
"gp_value": 29.0,
"gp_rank": 394,
"ab_value": 107.0,
"ab_rank": 347,
"r_value": 9.0,
"r_rank": 387,
"h_value": 23.0,
"h_rank": 345,
"avg_value": 0.2149532,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 10.0,
"rbi_rank": 354,
"tb_value": 43.0,
"tb_rank": 1750,
"bb_value": 4.0,
"bb_rank": 429,
"so_value": 23.0,
"so_rank": 368,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.4018691,
"slg_rank": "-",
"ops_value": 0.6518691,
"ops_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 32.0,
"k_percent": 20.4,
"bb_percent": 3.5,
"woba": 0.282,
"xwoba": 0.29,
"xba": 0.261,
"xslg": 0.364,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 14.3,
"whiff_percent": 26.7,
"swing_percent": 53.6
},
"components": {
"expected_quality": -0.1236,
"regression_edge": 0.2286,
"xwoba_edge": -0.3429,
"xba_edge": 0.6286,
"xslg_edge": -0.1214,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.3214,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"offense_factor": 0.9892,
"quality_score": -0.1445,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665862",
"espn_id": 41433,
"player_name": "Jazz Chisholm Jr.",
"team": "NYY",
"role": "batter",
"espn_rank": 189,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 189,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 298.0,
"ab_rank": 95,
"r_value": 43.0,
"r_rank": 77,
"h_value": 67.0,
"h_rank": 120,
"avg_value": 0.2248322,
"avg_rank": 134.0,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 12.0,
"hr_rank": 80,
"rbi_value": 33.0,
"rbi_rank": 134,
"tb_value": 118.0,
"tb_rank": 565,
"bb_value": 35.0,
"bb_rank": 58,
"so_value": 97.0,
"so_rank": 19,
"sb_value": 26.0,
"sb_rank": 3,
"obp_value": 0.3065476,
"obp_rank": "129",
"slg_value": 0.3959731,
"slg_rank": "106",
"ops_value": 0.7025207,
"ops_rank": 235.0,
"war_value": 0.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 28.9,
"bb_percent": 10.4,
"woba": 0.31,
"xwoba": 0.294,
"xba": 0.209,
"xslg": 0.366,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 16.1,
"whiff_percent": 31.7,
"swing_percent": 44.2
},
"components": {
"expected_quality": -0.0992,
"regression_edge": -0.4571,
"xwoba_edge": -0.2286,
"xba_edge": -0.8571,
"xslg_edge": -0.0929,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.3786,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": -0.95,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "676609",
"player_name": "José Caballero",
"offense_factor": 0.9526,
"quality_score": -0.6316,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676609",
"espn_id": 42135,
"player_name": "Jose Caballero",
"team": "NYY",
"role": "batter",
"espn_rank": 177,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 177,
"gp_value": 76.0,
"gp_rank": 148,
"ab_value": 250.0,
"ab_rank": 147,
"r_value": 33.0,
"r_rank": 147,
"h_value": 61.0,
"h_rank": 141,
"avg_value": 0.244,
"avg_rank": 105.0,
"2b_value": 10.0,
"2b_rank": 174,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 8.0,
"hr_rank": 135,
"rbi_value": 29.0,
"rbi_rank": 166,
"tb_value": 95.0,
"tb_rank": 1166,
"bb_value": 16.0,
"bb_rank": 232,
"so_value": 61.0,
"so_rank": 134,
"sb_value": 20.0,
"sb_rank": 9,
"obp_value": 0.3003663,
"obp_rank": "138",
"slg_value": 0.38,
"slg_rank": "121",
"ops_value": 0.6803663,
"ops_rank": 259.0,
"war_value": 0.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 22.3,
"bb_percent": 5.8,
"woba": 0.301,
"xwoba": 0.273,
"xba": 0.227,
"xslg": 0.325,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 25.1,
"exit_velocity_avg": 83.9,
"launch_angle_avg": 11.9,
"whiff_percent": 27.2,
"swing_percent": 49.8
},
"components": {
"expected_quality": -0.861,
"regression_edge": -0.8,
"xwoba_edge": -0.8286,
"xba_edge": -0.3429,
"xslg_edge": -0.6786,
"barrel_edge": -0.8667,
"hard_hit_edge": -1.8786,
"exit_velocity_edge": -1.96,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "669224",
"player_name": "Austin Wells",
"offense_factor": 0.994,
"quality_score": -0.0796,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669224",
"espn_id": 4683349,
"player_name": "Austin Wells",
"team": "NYY",
"role": "batter",
"espn_rank": 482,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 482,
"gp_value": 60.0,
"gp_rank": 229,
"ab_value": 176.0,
"ab_rank": 245,
"r_value": 16.0,
"r_rank": 305,
"h_value": 27.0,
"h_rank": 321,
"avg_value": 0.153409,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 417,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 10.0,
"rbi_rank": 354,
"tb_value": 41.0,
"tb_rank": 1925,
"bb_value": 23.0,
"bb_rank": 156,
"so_value": 56.0,
"so_rank": 152,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.2329545,
"slg_rank": "-",
"ops_value": 0.4829545,
"ops_rank": null,
"war_value": -0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 27.9,
"bb_percent": 11.4,
"woba": 0.223,
"xwoba": 0.279,
"xba": 0.204,
"xslg": 0.335,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 43.4,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 18.4,
"whiff_percent": 30.3,
"swing_percent": 47.8
},
"components": {
"expected_quality": -0.399,
"regression_edge": 1.6,
"xwoba_edge": -0.6571,
"xba_edge": -1.0,
"xslg_edge": -0.5357,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.7357,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "641857",
"player_name": "Ryan McMahon",
"offense_factor": 1.0226,
"quality_score": 0.301,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641857",
"espn_id": 33247,
"player_name": "Ryan McMahon",
"team": "NYY",
"role": "batter",
"espn_rank": 317,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 317,
"gp_value": 71.0,
"gp_rank": 176,
"ab_value": 191.0,
"ab_rank": 229,
"r_value": 21.0,
"r_rank": 240,
"h_value": 40.0,
"h_rank": 247,
"avg_value": 0.209424,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 306,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 8.0,
"hr_rank": 135,
"rbi_value": 23.0,
"rbi_rank": 219,
"tb_value": 69.0,
"tb_rank": 1404,
"bb_value": 17.0,
"bb_rank": 214,
"so_value": 64.0,
"so_rank": 116,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.2740384,
"obp_rank": "-",
"slg_value": 0.3612565,
"slg_rank": "-",
"ops_value": 0.6352949,
"ops_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 30.6,
"bb_percent": 8.1,
"woba": 0.282,
"xwoba": 0.309,
"xba": 0.236,
"xslg": 0.407,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 48.8,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 11.5,
"whiff_percent": 31.7,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.3912,
"regression_edge": 0.7714,
"xwoba_edge": 0.2,
"xba_edge": -0.0857,
"xslg_edge": 0.4929,
"barrel_edge": 0.9111,
"hard_hit_edge": 1.5071,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.3333,
"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 NYY | True | 6 | 0.4675 | 0.9880 | 0.9603 | 1.0514 | 0.9249 | 1.0048 | neutral | 0.2770 | 0.2580 | 29.70 | 5.10 | 27.50 | 8.60 | 40.60 | |
| Home TB | True | 272 | -0.1943 | 0.4960 | 1.0165 | 1.0162 | 0.9921 | 1.0559 | neutral | 0.3540 | 0.3240 | 23.40 | 8.10 | 30.40 | 10.70 | 41.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYY | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home TB | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0082 |
| home_runs_vs_away_pitcher | 0.9608 |
| home_pitcher_quality_edge | -0.6618 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "643377",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 124.0,
"k_percent": 23.4,
"bb_percent": 8.1,
"woba": 0.324,
"xwoba": 0.354,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 41.4,
"avg_best_speed": 77.4033,
"avg_hyper_speed": 94.4268,
"whiff_percent": 30.4,
"swing_percent": 48.0
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.7025,
"command_and_miss": 0.3364,
"regression_edge": -0.8571,
"xwoba_edge": -1.1714,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.4286,
"whiff_edge": 0.7,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "643377",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1943,
"sample_weight": 0.496,
"run_prevention_factor": 1.0165,
"strikeout_factor": 1.0162,
"walk_factor": 0.9921,
"homer_factor": 1.0559,
"woba_minus_xwoba": -0.03,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643377",
"espn_id": 42604,
"player_name": "Griffin Jax",
"team": "TB",
"role": "pitcher",
"espn_rank": 272,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 272,
"gp_value": 23.0,
"gp_rank": 192,
"gs_value": 12.0,
"gs_rank": 112,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 3.45,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 5.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 2.0,
"hld_rank": 178,
"ip_value": 60.0,
"ip_rank": 131,
"h_value": 56.0,
"h_rank": 130,
"er_value": 23.0,
"er_rank": 164,
"hr_value": 11.0,
"hr_rank": 60,
"bb_value": 20.0,
"bb_rank": 157,
"k_value": 58.0,
"k_rank": 125,
"k_per_9_value": 8.7,
"k_per_9_rank": 25.0,
"whip_value": 1.2666,
"whip_rank": null,
"war_value": 0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "693645",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 29.7,
"bb_percent": 5.1,
"woba": 0.258,
"xwoba": 0.277,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 40.6,
"avg_best_speed": 76.3831,
"avg_hyper_speed": 94.0775,
"whiff_percent": 27.5,
"swing_percent": 53.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.5954,
"command_and_miss": 0.7464,
"regression_edge": -0.5429,
"xwoba_edge": 1.0286,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.3143,
"whiff_edge": 0.2857,
"bb_edge": 0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "693645",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4675,
"sample_weight": 0.988,
"run_prevention_factor": 0.9603,
"strikeout_factor": 1.0514,
"walk_factor": 0.9249,
"homer_factor": 1.0048,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693645",
"espn_id": 5134581,
"player_name": "Cam Schlittler",
"team": "NYY",
"role": "pitcher",
"espn_rank": 6,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 6,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 10.0,
"qs_rank": 10,
"era_value": 2.0769,
"era_rank": 3.0,
"w_value": 8.0,
"w_rank": 17,
"l_value": 5.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 104.0,
"ip_rank": 14,
"h_value": 79.0,
"h_rank": 74,
"er_value": 24.0,
"er_rank": 157,
"hr_value": 10.0,
"hr_rank": 71,
"bb_value": 21.0,
"bb_rank": 148,
"k_value": 123.0,
"k_rank": 5,
"k_per_9_value": 10.644231,
"k_per_9_rank": 9.0,
"whip_value": 0.9615,
"whip_rank": 5.0,
"war_value": 3.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0082,
"home_runs_vs_away_pitcher": 0.9608,
"home_pitcher_quality_edge": -0.6618
},
"score_before": {
"away_runs": 4.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 4.0327,
"home_runs": 3.8431,
"home_win_probability": 0.472
},
"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 NYY | 1-9 | 0.100 | 2.40 | 5.70 | -33 | cold | weak | |
| Home TB | 8-2 | 0.800 | 5.70 | 2.50 | 32 | hot | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away NYY | 49-40 | 0.551 | 78 | 0.876 | True |
| Home TB | 52-35 | 0.598 | 35 | 0.402 | True |
| Signal | - | - | -0.474 | -0.403 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target NYY | - | - | 2 | - | - | - | - |
| Game target TB | - | - | 4 | - | - | - | - |
| Player finalized NYY | 33 | 9 | 2 | 0 | 3 | 3 | 9 |
| Player finalized TB | 32 | 9 | 4 | 0 | 3 | 1 | 7 |
| Player model fractional NYY | 31.57 | 6.77 | 3.75 | 1.15 | 3.41 | 3.07 | 8.00 |
| Player model fractional TB | 32.04 | 7.69 | 4.54 | 1.13 | 4.10 | 3.24 | 6.10 |
| Simulation box NYY | 33 | 6 | 2 | 1 | 2 | 5 | 4 |
| Simulation box TB | 34 | 10 | 4 | 2 | 4 | 3 | 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 NYY | Starter | Cam Schlittler | 6 | 2 | 7 | 7 | 3 | 2.92 | 1.16 | True |
| Away NYY | Middle Reliever | Brent Headrick | 1 | 0 | 1 | 1 | 0 | 1.85 | 0.84 | True |
| Away NYY | Middle Reliever | Fernando Cruz | 1 | 2 | 1 | 2 | 0 | 3.83 | 1.43 | True |
| Home TB | Starter | Griffin Jax | 5.20 | 0 | 4 | 3 | 4 | 3.04 | 1.17 | True |
| Home TB | Middle Reliever | Kevin Kelly | 1.10 | 2 | 0 | 3 | 0 | 2.90 | 0.98 | True |
| Home TB | Middle Reliever | Bryan Baker | 1 | 0 | 0 | 0 | 1 | 2.78 | 0.75 | True |
| Home TB | Middle Reliever | Garrett Cleavinger | 1 | 0 | 0 | 0 | 0 | 3.33 | 1.26 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | TB | batter | 1B | Jonathan Aranda | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 2.0350 | boost | worse |
| home | TB | pitcher | Starter | Griffin Jax | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| home | TB | pitcher | Middle Reliever | Garrett Cleavinger | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -2.0000 | deboost | worse |
| away | NYY | batter | DH | Ben Rice | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.9880 | boost | worse |
| home | TB | batter | SS | Taylor Walls | better | 9 | 4 | 5 | 5 | 4 | predicted_2B | 1.8310 | boost | better |
| away | NYY | batter | 2B | Jazz Chisholm Jr. | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.6900 | boost | better |
| home | TB | batter | LF | Chandler Simpson | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | 1.6000 | boost | better |
| home | TB | batter | 2B | Richie Palacios | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.3610 | boost | worse |
| home | TB | batter | 3B | Junior Caminero | better | 11 | 8 | 3 | 7 | 4 | predicted_RBI | 1.2000 | boost | better |
| home | TB | batter | CF | Cedric Mullins | better | 10 | 7 | 3 | 8 | 2 | predicted_H | 1.1200 | boost | better |
| away | NYY | batter | CF | Trent Grisham | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | -0.9900 | deboost | worse |
| away | NYY | batter | 3B | Ryan McMahon | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.9850 | deboost | better |
| home | TB | batter | C | Nick Fortes | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 0.9840 | boost | better |
| away | NYY | batter | C | Austin Wells | better | 10 | 5 | 5 | 6 | 4 | predicted_SO | -0.9330 | deboost | better |
| away | NYY | batter | LF | Cody Bellinger | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -0.8700 | deboost | worse |
| away | NYY | batter | SS | José Caballero | worse | 11 | 3 | 8 | 4 | 7 | predicted_2B | 0.8670 | boost | better |
| away | NYY | batter | RF | Jasson Domínguez | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.8210 | deboost | better |
| away | NYY | batter | 1B | Paul Goldschmidt | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.8170 | deboost | better |
| home | TB | batter | RF | Jonny DeLuca | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -0.7900 | deboost | worse |
| home | TB | batter | DH | Yandy Díaz | worse | 11 | 5 | 6 | 4 | 7 | predicted_BB | 0.5540 | boost | better |
| home | TB | pitcher | Middle Reliever | Kevin Kelly | 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 | Cam Schlittler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4675 |
| ESPN Rank | 6 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 6 |
| Pre ER | 2 |
| Pre H | 7 |
| Pre BB | 3 |
| Pre SO | 7 |
| Season ERA | 2.0769 |
| Season WHIP | 0.9615 |
| Role Avg IP | 5.7780 |
| Recent Avg IP | 5.5330 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 99,
"wins": 54,
"losses": 45,
"win_pct": 0.5455,
"runs_scored": 457.0,
"runs_allowed": 388.0,
"run_differential": 69.0,
"run_differential_per_game": 0.697,
"avg_runs_scored": 4.6162,
"avg_runs_allowed": 3.9192,
"offense_index": 1.0179,
"defense_index": 1.1571,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 6.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.0168
},
"opponent": {
"team": "TB",
"games": 95,
"wins": 55,
"losses": 40,
"win_pct": 0.5789,
"runs_scored": 413.0,
"runs_allowed": 388.0,
"run_differential": 25.0,
"run_differential_per_game": 0.2632,
"avg_runs_scored": 4.3474,
"avg_runs_allowed": 4.0842,
"offense_index": 0.9587,
"defense_index": 1.1103,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 2.5,
"run_differential": 33.0
},
"available": true,
"quality_score": 0.204
},
"edges": {
"quality_edge": -0.2208,
"offense_edge": 0.0179,
"opponent_offense_edge": -0.0413,
"defense_strength": 0.1571,
"opponent_defense_weakness": -0.1103,
"recent_win_pct_edge": -0.7
},
"player_factors": {
"ip": 0.9975,
"run_prevention": 0.9887,
"strikeout": 0.9967
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693645",
"profile": {
"available": true,
"pitcher_id": "693645",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 29.7,
"bb_percent": 5.1,
"woba": 0.258,
"xwoba": 0.277,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 40.6,
"avg_best_speed": 76.3831,
"avg_hyper_speed": 94.0775,
"whiff_percent": 27.5,
"swing_percent": 53.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.5954,
"command_and_miss": 0.7464,
"regression_edge": -0.5429,
"xwoba_edge": 1.0286,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.3143,
"whiff_edge": 0.2857,
"bb_edge": 0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "693645",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4675,
"sample_weight": 0.988,
"run_prevention_factor": 0.9603,
"strikeout_factor": 1.0514,
"walk_factor": 0.9249,
"homer_factor": 1.0048,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693645",
"espn_id": 5134581,
"player_name": "Cam Schlittler",
"team": "NYY",
"role": "pitcher",
"espn_rank": 6,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 6,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 10.0,
"qs_rank": 10,
"era_value": 2.0769,
"era_rank": 3.0,
"w_value": 8.0,
"w_rank": 17,
"l_value": 5.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 104.0,
"ip_rank": 14,
"h_value": 79.0,
"h_rank": 74,
"er_value": 24.0,
"er_rank": 157,
"hr_value": 10.0,
"hr_rank": 71,
"bb_value": 21.0,
"bb_rank": 148,
"k_value": 123.0,
"k_rank": 5,
"k_per_9_value": 10.644231,
"k_per_9_rank": 9.0,
"whip_value": 0.9615,
"whip_rank": 5.0,
"war_value": 3.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9608,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9608,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9258,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0047,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0508,
"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": 56.2,
"ER": 16,
"H": 47,
"BB": 12,
"SO": 70,
"HR": 9,
"ERA": 2.5411764705882356,
"WHIP": 1.0411764705882354,
"K9": 11.117647058823529,
"HR9": 1.4294117647058824,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-30T00:00:00"
}{
"available": false,
"pitcher_id": "693645",
"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": "693645",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.2,
"ER": 8.0,
"R": 12.0,
"H": 26.0,
"BB": 8.0,
"SO": 39.0,
"HR": 6.0,
"BF": 119.0,
"Pitches": 466.0
},
"per_game": {
"IP": 5.2,
"ER": 1.6,
"R": 2.4,
"H": 5.2,
"BB": 1.6,
"SO": 7.8,
"HR": 1.2,
"BF": 23.8,
"Pitches": 93.2
},
"rates": {
"ERA": 2.6024,
"WHIP": 1.2289,
"ER_per_IP": 0.28916,
"H_per_IP": 0.93976,
"BB_per_IP": 0.28916,
"SO_per_IP": 1.40964,
"HR_per_IP": 0.21687
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.2,
"ER": 16.0,
"R": 21.0,
"H": 47.0,
"BB": 12.0,
"SO": 70.0,
"HR": 9.0,
"BF": 233.0,
"Pitches": 928.0
},
"per_game": {
"IP": 5.2,
"ER": 1.6,
"R": 2.1,
"H": 4.7,
"BB": 1.2,
"SO": 7.0,
"HR": 0.9,
"BF": 23.3,
"Pitches": 92.8
},
"rates": {
"ERA": 2.5412,
"WHIP": 1.0412,
"ER_per_IP": 0.28235,
"H_per_IP": 0.82941,
"BB_per_IP": 0.21176,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.15882
}
},
"season": {
"games": 18,
"totals": {
"IP": 104.0,
"ER": 24.0,
"R": 31.0,
"H": 79.0,
"BB": 21.0,
"SO": 123.0,
"HR": 10.0,
"BF": 414.0,
"Pitches": 1620.0
},
"per_game": {
"IP": 5.2,
"ER": 1.3333,
"R": 1.7222,
"H": 4.3889,
"BB": 1.1667,
"SO": 6.8333,
"HR": 0.5556,
"BF": 23.0,
"Pitches": 90.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.9615,
"ER_per_IP": 0.23077,
"H_per_IP": 0.75962,
"BB_per_IP": 0.20192,
"SO_per_IP": 1.18269,
"HR_per_IP": 0.09615
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.865,
"predicted_H": 5.096,
"predicted_BB": 1.544,
"predicted_SO": 7.044,
"predicted_HR": 0.96,
"predicted_ERA": 2.9239,
"predicted_WHIP": 1.1569
}
}{
"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": 6.0,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.865,
"final": 1.9246,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.096,
"final": 5.9373,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.544,
"final": 2.1873,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 7.044,
"final": 7.0246,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.96,
"final": 0.5358,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9239,
"final": 2.9239,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1569,
"final": 1.1569,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brent Headrick |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2218 |
| ESPN Rank | 46 |
| 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.4538 |
| Season WHIP | 1.1308 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 99,
"wins": 54,
"losses": 45,
"win_pct": 0.5455,
"runs_scored": 457.0,
"runs_allowed": 388.0,
"run_differential": 69.0,
"run_differential_per_game": 0.697,
"avg_runs_scored": 4.6162,
"avg_runs_allowed": 3.9192,
"offense_index": 1.0179,
"defense_index": 1.1571,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 6.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.0168
},
"opponent": {
"team": "TB",
"games": 95,
"wins": 55,
"losses": 40,
"win_pct": 0.5789,
"runs_scored": 413.0,
"runs_allowed": 388.0,
"run_differential": 25.0,
"run_differential_per_game": 0.2632,
"avg_runs_scored": 4.3474,
"avg_runs_allowed": 4.0842,
"offense_index": 0.9587,
"defense_index": 1.1103,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 2.5,
"run_differential": 33.0
},
"available": true,
"quality_score": 0.204
},
"edges": {
"quality_edge": -0.2208,
"offense_edge": 0.0179,
"opponent_offense_edge": -0.0413,
"defense_strength": 0.1571,
"opponent_defense_weakness": -0.1103,
"recent_win_pct_edge": -0.7
},
"player_factors": {
"ip": 0.9975,
"run_prevention": 0.9887,
"strikeout": 0.9967
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687396",
"profile": {
"available": true,
"pitcher_id": "687396",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 108.0,
"k_percent": 26.6,
"bb_percent": 9.0,
"woba": 0.261,
"xwoba": 0.278,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 37.7,
"avg_best_speed": 76.8428,
"avg_hyper_speed": 93.7885,
"whiff_percent": 32.6,
"swing_percent": 53.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.685,
"command_and_miss": 0.6071,
"regression_edge": -0.4857,
"xwoba_edge": 1.0,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.1,
"whiff_edge": 1.0143,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687396",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2218,
"sample_weight": 0.45,
"run_prevention_factor": 0.9811,
"strikeout_factor": 1.0285,
"walk_factor": 1.0009,
"homer_factor": 0.9687,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687396",
"espn_id": 5116839,
"player_name": "Brent Headrick",
"team": "NYY",
"role": "pitcher",
"espn_rank": 46,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 46,
"gp_value": 44.0,
"gp_rank": 3,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 1.4538,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 9.0,
"hld_rank": 49,
"ip_value": 43.1,
"ip_rank": 181,
"h_value": 33.0,
"h_rank": 239,
"er_value": 7.0,
"er_rank": 475,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 16.0,
"bb_rank": 224,
"k_value": 47.0,
"k_rank": 162,
"k_per_9_value": 9.761538,
"k_per_9_rank": 24.0,
"whip_value": 1.1307,
"whip_rank": null,
"war_value": 1.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0128,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 0,
"H": 3,
"BB": 2,
"SO": 11,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.46875,
"K9": 9.28125,
"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-04T00:00:00"
}{
"available": false,
"pitcher_id": "687396",
"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.594,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6322,
"prior_weight": 0.3678
},
"role": "pitcher",
"player_id": "687396",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 44,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.375,
"ER_per_IP": 0.0,
"H_per_IP": 0.1875,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 133.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.3,
"BB": 0.2,
"SO": 1.1,
"HR": 0.0,
"BF": 3.7,
"Pitches": 13.3
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4688,
"ER_per_IP": 0.0,
"H_per_IP": 0.28125,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 44,
"totals": {
"IP": 43.1,
"ER": 7.0,
"R": 8.0,
"H": 33.0,
"BB": 16.0,
"SO": 47.0,
"HR": 2.0,
"BF": 177.0,
"Pitches": 662.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1591,
"R": 0.1818,
"H": 0.75,
"BB": 0.3636,
"SO": 1.0682,
"HR": 0.0455,
"BF": 4.0227,
"Pitches": 15.0455
},
"rates": {
"ERA": 1.4538,
"WHIP": 1.1308,
"ER_per_IP": 0.16154,
"H_per_IP": 0.76154,
"BB_per_IP": 0.36923,
"SO_per_IP": 1.08462,
"HR_per_IP": 0.04615
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.206,
"predicted_H": 0.569,
"predicted_BB": 0.273,
"predicted_SO": 1.143,
"predicted_HR": 0.061,
"predicted_ERA": 1.8524,
"predicted_WHIP": 0.8414
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5054,
"form_weight": 0.4946,
"form_reliability": 0.6322,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.594,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6322,
"prior_weight": 0.3678
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.206,
"final": 0.1019,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.569,
"final": 0.7868,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.273,
"final": 0.135,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.143,
"final": 1.0707,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0302,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.8524,
"final": 1.8524,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8414,
"final": 0.8414,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Fernando Cruz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3967 |
| ESPN Rank | 74 |
| 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 | 1 |
| Season ERA | 2.3894 |
| Season WHIP | 1.2743 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 99,
"wins": 54,
"losses": 45,
"win_pct": 0.5455,
"runs_scored": 457.0,
"runs_allowed": 388.0,
"run_differential": 69.0,
"run_differential_per_game": 0.697,
"avg_runs_scored": 4.6162,
"avg_runs_allowed": 3.9192,
"offense_index": 1.0179,
"defense_index": 1.1571,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 6.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.0168
},
"opponent": {
"team": "TB",
"games": 95,
"wins": 55,
"losses": 40,
"win_pct": 0.5789,
"runs_scored": 413.0,
"runs_allowed": 388.0,
"run_differential": 25.0,
"run_differential_per_game": 0.2632,
"avg_runs_scored": 4.3474,
"avg_runs_allowed": 4.0842,
"offense_index": 0.9587,
"defense_index": 1.1103,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 2.5,
"run_differential": 33.0
},
"available": true,
"quality_score": 0.204
},
"edges": {
"quality_edge": -0.2208,
"offense_edge": 0.0179,
"opponent_offense_edge": -0.0413,
"defense_strength": 0.1571,
"opponent_defense_weakness": -0.1103,
"recent_win_pct_edge": -0.7
},
"player_factors": {
"ip": 0.9975,
"run_prevention": 0.9887,
"strikeout": 0.9967
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "518585",
"profile": {
"available": true,
"pitcher_id": "518585",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 29.6,
"bb_percent": 13.8,
"woba": 0.277,
"xwoba": 0.274,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 21.6,
"avg_best_speed": 73.6491,
"avg_hyper_speed": 92.1477,
"whiff_percent": 40.9,
"swing_percent": 43.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.1062,
"command_and_miss": 0.975,
"regression_edge": 0.0857,
"xwoba_edge": 1.1143,
"barrel_edge": 0.3556,
"hard_hit_edge": 2.4,
"whiff_edge": 2.2,
"bb_edge": -1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "518585",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3967,
"sample_weight": 0.45,
"run_prevention_factor": 0.9663,
"strikeout_factor": 1.0576,
"walk_factor": 1.0441,
"homer_factor": 0.929,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518585",
"espn_id": 34068,
"player_name": "Fernando Cruz",
"team": "NYY",
"role": "pitcher",
"espn_rank": 74,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 74,
"gp_value": 41.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.3893,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 14.0,
"hld_rank": 10,
"ip_value": 37.2,
"ip_rank": 235,
"h_value": 26.0,
"h_rank": 319,
"er_value": 10.0,
"er_rank": 388,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 22.0,
"bb_rank": 135,
"k_value": 47.0,
"k_rank": 162,
"k_per_9_value": 11.230089,
"k_per_9_rank": 18.0,
"whip_value": 1.2743,
"whip_rank": null,
"war_value": 1.29,
"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": 1.0198,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9681,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0259,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 4,
"H": 7,
"BB": 8,
"SO": 14,
"HR": 0,
"ERA": 3.6,
"WHIP": 1.5,
"K9": 12.6,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-03T00:00:00"
}{
"available": false,
"pitcher_id": "518585",
"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.47,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.599,
"prior_weight": 0.401
},
"role": "pitcher",
"player_id": "518585",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.6,
"Pitches": 19.4
},
"rates": {
"ERA": 3.6,
"WHIP": 1.6,
"ER_per_IP": 0.4,
"H_per_IP": 1.0,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 5.0,
"H": 7.0,
"BB": 8.0,
"SO": 14.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 191.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.7,
"BB": 0.8,
"SO": 1.4,
"HR": 0.0,
"BF": 4.5,
"Pitches": 19.1
},
"rates": {
"ERA": 3.6,
"WHIP": 1.5,
"ER_per_IP": 0.4,
"H_per_IP": 0.7,
"BB_per_IP": 0.8,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"season": {
"games": 41,
"totals": {
"IP": 37.2,
"ER": 10.0,
"R": 12.0,
"H": 26.0,
"BB": 22.0,
"SO": 47.0,
"HR": 2.0,
"BF": 159.0,
"Pitches": 637.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2439,
"R": 0.2927,
"H": 0.6341,
"BB": 0.5366,
"SO": 1.1463,
"HR": 0.0488,
"BF": 3.878,
"Pitches": 15.5366
},
"rates": {
"ERA": 2.3894,
"WHIP": 1.2743,
"ER_per_IP": 0.26549,
"H_per_IP": 0.69027,
"BB_per_IP": 0.58407,
"SO_per_IP": 1.24779,
"HR_per_IP": 0.0531
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.426,
"predicted_H": 0.888,
"predicted_BB": 0.543,
"predicted_SO": 1.149,
"predicted_HR": 0.066,
"predicted_ERA": 3.8305,
"predicted_WHIP": 1.4305
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5194,
"form_weight": 0.4806,
"form_reliability": 0.599,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.47,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.599,
"prior_weight": 0.401
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.426,
"final": 1.2436,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.888,
"final": 1.4656,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.543,
"final": 0.261,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.149,
"final": 1.0716,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.066,
"final": 1.0706,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8305,
"final": 3.8305,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4305,
"final": 1.4305,
"source": "form_only"
}
}
}{
"available": false,
"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.150 | 0.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.770 | 4.000 | 4.000 | Hitting_AB | 3.683 | 2.000 | 0.317 | 2.000 |
| predicted_AVG | 0.224 | 0.250 | 0.250 | Hitting_AVG | 0.281 | 0.000 | -0.031 | 0.250 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.366 | 0.000 | -0.366 | 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 | 1.035 | 0.000 | -0.035 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_OBP | 0.261 | 0.250 | 0.250 | Hitting_OBP | 0.356 | 0.000 | -0.106 | 0.250 |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.620 | 0.000 | -0.620 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.620 | 0.000 | -0.620 | 0.000 |
| predicted_SLG | 0.392 | 0.250 | 0.250 | Hitting_SLG | 0.541 | 0.000 | -0.291 | 0.250 |
| predicted_SO | 0.817 | 0.000 | 1.000 | Hitting_SO | 0.803 | 0.000 | -0.803 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.7700 -> 4.0000 (boost 0.2300, better) |
| Biggest Deboost | predicted_SO: 0.8170 -> 0.0000 (deboost -0.8170, 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.7700 -> 3.6565 (deboost -0.1135, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2132 -> 0.2066 (deboost -0.0066, 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.2381 -> 0.0000 (deboost -0.2381, worse) | AB rounded to 4 (raw=3.77), rates preserved: AVG=0.200 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4224 -> 0.0000 (deboost -0.4224, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2066 -> 0.2500 (boost 0.0434, better) | predicted_SLG: 0.3833 -> 0.2500 (deboost -0.1333, 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.3833 (boost 0.1333, better) | predicted_AVG: 0.2500 -> 0.2066 (deboost -0.0434, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"position": "1B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.017,
"predicted_AB": 3.77,
"predicted_AVG": 0.224,
"predicted_BB": 0.267,
"predicted_H": 0.85,
"predicted_HR": 0.16,
"predicted_OBP": 0.261,
"predicted_R": 0.5,
"predicted_RBI": 0.51,
"predicted_SLG": 0.392,
"predicted_SO": 0.817
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.0141,
"predicted_AB": 3.6565,
"predicted_AVG": 0.2132,
"predicted_BB": 0.2395,
"predicted_H": 0.7845,
"predicted_HBP": 0.02,
"predicted_HR": 0.1642,
"predicted_OBP": 0.253,
"predicted_R": 0.4508,
"predicted_RBI": 0.5121,
"predicted_SLG": 0.388,
"predicted_SO": 0.8253
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.135,
"delta": -0.015,
"percent_delta": -0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0141,
"delta": -0.0029,
"percent_delta": -0.1706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 3.6565,
"delta": -0.1135,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2132,
"delta": -0.0108,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.2395,
"delta": -0.0275,
"percent_delta": -0.103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.7845,
"delta": -0.0655,
"percent_delta": -0.0771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1642,
"delta": 0.0042,
"percent_delta": 0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.253,
"delta": -0.008,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4508,
"delta": -0.0492,
"percent_delta": -0.0984,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5121,
"delta": 0.0021,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.388,
"delta": -0.004,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.817,
"after": 0.8253,
"delta": 0.0083,
"percent_delta": 0.0102,
"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.77,
"after": 3.6565,
"delta": -0.1135,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.135,
"predicted_3B": 0.0141,
"predicted_AB": 3.6565,
"predicted_AVG": 0.2066,
"predicted_BB": 0.2381,
"predicted_H": 0.7556,
"predicted_HBP": 0.02,
"predicted_HR": 0.1609,
"predicted_OBP": 0.2551,
"predicted_R": 0.4224,
"predicted_RBI": 0.4798,
"predicted_SLG": 0.3833,
"predicted_SO": 0.8302
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6565,
"after": 3.6565,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2132,
"after": 0.2066,
"delta": -0.0066,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2395,
"after": 0.2381,
"delta": -0.0014,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7845,
"after": 0.7556,
"delta": -0.0289,
"percent_delta": -0.0368,
"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.1642,
"after": 0.1609,
"delta": -0.0033,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2551,
"delta": 0.0021,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4508,
"after": 0.4224,
"delta": -0.0284,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5121,
"after": 0.4798,
"delta": -0.0323,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3833,
"delta": -0.0047,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8253,
"after": 0.8302,
"delta": 0.0049,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2132,
"after": 0.2066,
"delta": -0.0066,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.77), rates preserved: AVG=0.200 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.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0,
"delta": -0.0141,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6565,
"after": 4.0,
"delta": 0.3435,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2381,
"after": 0.0,
"delta": -0.2381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7556,
"after": 1.0,
"delta": 0.2444,
"percent_delta": 0.3235,
"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.1609,
"after": 0.0,
"delta": -0.1609,
"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.8302,
"after": 1.0,
"delta": 0.1698,
"percent_delta": 0.2045,
"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.2381,
"after": 0.0,
"delta": -0.2381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4224,
"after": 0.0,
"delta": -0.4224,
"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.4224,
"after": 0.0,
"delta": -0.4224,
"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.2066,
"after": 0.25,
"delta": 0.0434,
"percent_delta": 0.2101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2551,
"after": 0.25,
"delta": -0.0051,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.3833,
"after": 0.25,
"delta": -0.1333,
"percent_delta": -0.3478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2066,
"after": 0.25,
"delta": 0.0434,
"percent_delta": 0.2101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3833,
"after": 0.25,
"delta": -0.1333,
"percent_delta": -0.3478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2066,
"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.2551,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3833,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2066,
"delta": -0.0434,
"percent_delta": -0.1735,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2551,
"delta": 0.0051,
"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_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3833,
"delta": 0.1333,
"percent_delta": 0.5332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3833,
"delta": 0.1333,
"percent_delta": 0.5332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2066,
"delta": -0.0434,
"percent_delta": -0.1735,
"direction": "deboost",
"projection_effect": "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.77,
"after": 4.0,
"delta": 0.23,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2066,
"delta": -0.0174,
"percent_delta": -0.0777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2551,
"delta": -0.0059,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3833,
"delta": -0.0087,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.817,
"after": 0.0,
"delta": -0.817,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 4.0,
"delta": 0.23,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.817,
"after": 0.0,
"delta": -0.817,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.392 | - |
| predicted_SO | 0.817 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | -0.015 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.656 | -0.114 |
| predicted_AVG | 0.213 | -0.011 |
| predicted_BB | 0.239 | -0.028 |
| predicted_H | 0.784 | -0.066 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.164 | 0.004 |
| predicted_OBP | 0.253 | -0.008 |
| predicted_R | 0.451 | -0.049 |
| predicted_RBI | 0.512 | 0.002 |
| predicted_SLG | 0.388 | -0.004 |
| predicted_SO | 0.825 | 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.135 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.656 | 0.000 |
| predicted_AVG | 0.207 | -0.007 |
| predicted_BB | 0.238 | -0.001 |
| predicted_H | 0.756 | -0.029 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.161 | -0.003 |
| predicted_OBP | 0.255 | 0.002 |
| predicted_R | 0.422 | -0.028 |
| predicted_RBI | 0.480 | -0.032 |
| predicted_SLG | 0.383 | -0.005 |
| predicted_SO | 0.830 | 0.005 |
AB rounded to 4 (raw=3.77), rates preserved: AVG=0.200 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.135 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 4.000 | 0.344 |
| predicted_AVG | 0.250 | 0.043 |
| predicted_BB | 0.000 | -0.238 |
| predicted_H | 1.000 | 0.244 |
| predicted_HR | 0.000 | -0.161 |
| predicted_OBP | 0.250 | -0.005 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 1.000 | 0.520 |
| predicted_SLG | 0.250 | -0.133 |
| predicted_SO | 1.000 | 0.170 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 15.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0667 | 0.0000 | 0.2667 |
| last_10 | 0.20 | 10 | - | 34.000 | 5.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 2.000 | 9.000 | 0.1471 | 0.1944 | 0.3529 | 0.1471 | 0.0588 | 0.1177 | 0.0588 | 0.2647 |
| season | 0.60 | 60 | - | 218.000 | 59.000 | 9.000 | 1.000 | 14.000 | 41.000 | 30.000 | 16.000 | 49.000 | 0.2706 | 0.3249 | 0.5138 | 0.2706 | 0.0642 | 0.1881 | 0.0734 | 0.2248 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1140 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.4980 |
| predicted_AVG | 0.1981 |
| predicted_BB | 0.2010 |
| predicted_H | 0.6930 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.2419 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.5150 |
| predicted_SLG | 0.3823 |
| predicted_SO | 0.8370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1140 | 0.1350 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0141 | model_form_blend |
| predicted_AB | 3.7700 | 3.4980 | 3.6565 | model_form_blend |
| predicted_AVG | 0.2240 | 0.1981 | 0.2132 | model_form_blend |
| predicted_BB | 0.2670 | 0.2010 | 0.2395 | model_form_blend |
| predicted_H | 0.8500 | 0.6930 | 0.7845 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1600 | 0.1700 | 0.1642 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2419 | 0.2530 | model_form_blend |
| predicted_R | 0.5000 | 0.3820 | 0.4508 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5150 | 0.5121 | model_form_blend |
| predicted_SLG | 0.3920 | 0.3823 | 0.3880 | model_form_blend |
| predicted_SO | 0.8170 | 0.8370 | 0.8253 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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-DH |
| gameID | 20260704_MIN@NYY |
| game_type | ph |
| mlbID | 502671 |
| note | Flied out for Grisham in the 6th. |
| playerID | 502671 |
| playerName | Paul Goldschmidt |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-04 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.363 |
| sl_xwoba | 0.328 |
| sl_xba | 0.246 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 48.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.195 | 0.000 | 0.000 | Hitting_2B | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_AB | 3.860 | 3.000 | 4.000 | Hitting_AB | 3.659 | 4.000 | -0.659 | -1.000 |
| predicted_AVG | 0.227 | 0.000 | 0.250 | Hitting_AVG | 0.266 | 0.250 | -0.266 | -0.250 |
| predicted_BB | 0.575 | 1.000 | 1.000 | Hitting_BB | 0.637 | 0.000 | 0.363 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.974 | 1.000 | -0.974 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_OBP | 0.283 | 0.250 | 0.400 | Hitting_OBP | 0.370 | 0.250 | -0.120 | 0.000 |
| predicted_R | 0.529 | 0.000 | 0.000 | Hitting_R | 0.610 | 0.000 | -0.610 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.648 | 0.000 | -0.648 | 0.000 |
| predicted_SLG | 0.362 | 0.000 | 0.250 | Hitting_SLG | 0.475 | 0.250 | -0.475 | -0.250 |
| predicted_SO | 0.609 | 0.000 | 1.000 | Hitting_SO | 0.573 | 1.000 | -0.573 | -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.5750 -> 1.0000 (boost 0.4250, 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 | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.6090 -> 0.6758 (boost 0.0668, worse) | predicted_R: 0.5290 -> 0.4493 (deboost -0.0797, worse) | Final model input calibrated with local 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.2782 -> 0.2982 (boost 0.0200, better) | predicted_AVG: 0.2130 -> 0.2043 (deboost -0.0087, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_BB: 0.5141 -> 1.0000 (boost 0.4859, better) | predicted_RBI: 0.4047 -> 0.0000 (deboost -0.4047, worse) | AB rounded to 4 (raw=3.86), rates preserved: AVG=0.203 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4210 -> 0.0000 (deboost -0.4210, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2982 -> 0.4000 (boost 0.1018, better) | predicted_SLG: 0.3409 -> 0.2500 (deboost -0.0909, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3409 (boost 0.0909, better) | predicted_OBP: 0.4000 -> 0.2982 (deboost -0.1018, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "LF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.195,
"predicted_3B": 0.034,
"predicted_AB": 3.86,
"predicted_AVG": 0.227,
"predicted_BB": 0.575,
"predicted_H": 0.87,
"predicted_HR": 0.1,
"predicted_OBP": 0.283,
"predicted_R": 0.529,
"predicted_RBI": 0.44,
"predicted_SLG": 0.362,
"predicted_SO": 0.609
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1954,
"predicted_3B": 0.0284,
"predicted_AB": 3.8424,
"predicted_AVG": 0.213,
"predicted_BB": 0.5172,
"predicted_H": 0.8152,
"predicted_HBP": 0.002,
"predicted_HR": 0.0927,
"predicted_OBP": 0.2782,
"predicted_R": 0.4493,
"predicted_RBI": 0.4319,
"predicted_SLG": 0.3449,
"predicted_SO": 0.6758
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.1954,
"delta": 0.0004,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0284,
"delta": -0.0056,
"percent_delta": -0.1647,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.8424,
"delta": -0.0176,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.213,
"delta": -0.014,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.575,
"after": 0.5172,
"delta": -0.0578,
"percent_delta": -0.1005,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8152,
"delta": -0.0548,
"percent_delta": -0.063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0927,
"delta": -0.0073,
"percent_delta": -0.073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2782,
"delta": -0.0048,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.4493,
"delta": -0.0797,
"percent_delta": -0.1507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4319,
"delta": -0.0081,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3449,
"delta": -0.0171,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.609,
"after": 0.6758,
"delta": 0.0668,
"percent_delta": 0.1097,
"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.609,
"after": 0.6758,
"delta": 0.0668,
"percent_delta": 0.1097,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.529,
"after": 0.4493,
"delta": -0.0797,
"percent_delta": -0.1507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1954,
"predicted_3B": 0.0284,
"predicted_AB": 3.8424,
"predicted_AVG": 0.2043,
"predicted_BB": 0.5141,
"predicted_H": 0.7851,
"predicted_HBP": 0.002,
"predicted_HR": 0.0909,
"predicted_OBP": 0.2982,
"predicted_R": 0.421,
"predicted_RBI": 0.4047,
"predicted_SLG": 0.3409,
"predicted_SO": 0.6798
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1954,
"after": 0.1954,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0284,
"after": 0.0284,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8424,
"after": 3.8424,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.5172,
"after": 0.5141,
"delta": -0.0031,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8152,
"after": 0.7851,
"delta": -0.0301,
"percent_delta": -0.0369,
"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.0927,
"after": 0.0909,
"delta": -0.0018,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2782,
"after": 0.2982,
"delta": 0.02,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4493,
"after": 0.421,
"delta": -0.0283,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4319,
"after": 0.4047,
"delta": -0.0272,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3449,
"after": 0.3409,
"delta": -0.004,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6758,
"after": 0.6798,
"delta": 0.004,
"percent_delta": 0.0059,
"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.2782,
"after": 0.2982,
"delta": 0.02,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2043,
"delta": -0.0087,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.86), rates preserved: AVG=0.203 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.1954,
"after": 0.0,
"delta": -0.1954,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0284,
"after": 0.0,
"delta": -0.0284,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8424,
"after": 4.0,
"delta": 0.1576,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5141,
"after": 1.0,
"delta": 0.4859,
"percent_delta": 0.9451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7851,
"after": 1.0,
"delta": 0.2149,
"percent_delta": 0.2737,
"direction": "boost",
"projection_effect": "better",
"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.0909,
"after": 0.0,
"delta": -0.0909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6798,
"after": 1.0,
"delta": 0.3202,
"percent_delta": 0.471,
"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.5141,
"after": 1.0,
"delta": 0.4859,
"percent_delta": 0.9451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.421,
"after": 0.0,
"delta": -0.421,
"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.2043,
"after": 0.25,
"delta": 0.0457,
"percent_delta": 0.2237,
"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.2982,
"after": 0.4,
"delta": 0.1018,
"percent_delta": 0.3414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3409,
"after": 0.25,
"delta": -0.0909,
"percent_delta": -0.2666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2982,
"after": 0.4,
"delta": 0.1018,
"percent_delta": 0.3414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3409,
"after": 0.25,
"delta": -0.0909,
"percent_delta": -0.2666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2043,
"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.2982,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3409,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2043,
"delta": -0.0457,
"percent_delta": -0.1827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2982,
"delta": -0.1018,
"percent_delta": -0.2544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3409,
"delta": 0.0909,
"percent_delta": 0.3636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3409,
"delta": 0.0909,
"percent_delta": 0.3636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.2982,
"delta": -0.1018,
"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.195,
"after": 0.0,
"delta": -0.195,
"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.86,
"after": 3.0,
"delta": -0.86,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2043,
"delta": -0.0227,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"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.283,
"after": 0.2982,
"delta": 0.0152,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"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.362,
"after": 0.3409,
"delta": -0.0211,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.609,
"after": 0.0,
"delta": -0.609,
"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.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"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.195 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.575 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.529 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.609 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | 0.000 |
| predicted_3B | 0.028 | -0.006 |
| predicted_AB | 3.842 | -0.018 |
| predicted_AVG | 0.213 | -0.014 |
| predicted_BB | 0.517 | -0.058 |
| predicted_H | 0.815 | -0.055 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.093 | -0.007 |
| predicted_OBP | 0.278 | -0.005 |
| predicted_R | 0.449 | -0.080 |
| predicted_RBI | 0.432 | -0.008 |
| predicted_SLG | 0.345 | -0.017 |
| predicted_SO | 0.676 | 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.195 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.842 | 0.000 |
| predicted_AVG | 0.204 | -0.009 |
| predicted_BB | 0.514 | -0.003 |
| predicted_H | 0.785 | -0.030 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.091 | -0.002 |
| predicted_OBP | 0.298 | 0.020 |
| predicted_R | 0.421 | -0.028 |
| predicted_RBI | 0.405 | -0.027 |
| predicted_SLG | 0.341 | -0.004 |
| predicted_SO | 0.680 | 0.004 |
AB rounded to 4 (raw=3.86), rates preserved: AVG=0.203 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 | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.195 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 4.000 | 0.158 |
| predicted_AVG | 0.250 | 0.046 |
| predicted_BB | 1.000 | 0.486 |
| predicted_H | 1.000 | 0.215 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.400 | 0.102 |
| predicted_R | 0.000 | -0.421 |
| predicted_RBI | 0.000 | -0.405 |
| predicted_SLG | 0.250 | -0.091 |
| predicted_SO | 1.000 | 0.320 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 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 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 5.000 | 0.0952 | 0.1364 | 0.1429 | 0.0952 | 0.0000 | 0.0476 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 10 | - | 39.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 10.000 | 0.1026 | 0.1667 | 0.1538 | 0.1026 | 0.0000 | 0.0256 | 0.0769 | 0.2564 |
| season | 0.60 | 87 | - | 319.000 | 80.000 | 17.000 | 3.000 | 11.000 | 50.000 | 46.000 | 50.000 | 53.000 | 0.2508 | 0.3476 | 0.4263 | 0.2508 | 0.0345 | 0.1567 | 0.1567 | 0.1661 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.8190 |
| predicted_AVG | 0.1943 |
| predicted_BB | 0.4400 |
| predicted_H | 0.7420 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.2719 |
| predicted_R | 0.3430 |
| predicted_RBI | 0.4210 |
| predicted_SLG | 0.3221 |
| predicted_SO | 0.7650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.1960 | 0.1954 | model_form_blend |
| predicted_3B | 0.0340 | 0.0210 | 0.0284 | model_form_blend |
| predicted_AB | 3.8600 | 3.8190 | 3.8424 | model_form_blend |
| predicted_AVG | 0.2270 | 0.1943 | 0.2130 | model_form_blend |
| predicted_BB | 0.5750 | 0.4400 | 0.5172 | model_form_blend |
| predicted_H | 0.8700 | 0.7420 | 0.8152 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1000 | 0.0830 | 0.0927 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2719 | 0.2782 | model_form_blend |
| predicted_R | 0.5290 | 0.3430 | 0.4493 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4210 | 0.4319 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3221 | 0.3449 | model_form_blend |
| predicted_SO | 0.6090 | 0.7650 | 0.6758 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 267 |
| Season rows before report date | 267 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.251 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260705_MIN@NYY |
| game_type | full |
| mlbID | 641355 |
| playerID | 641355 |
| playerName | Cody Bellinger |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-05 |
| sl_k_percent | 14.2 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.34 |
| sl_xwoba | 0.356 |
| sl_xba | 0.276 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 18.5 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 45.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.179 | 0.000 | 0.000 | Hitting_2B | 0.185 | 1.000 | -0.185 | -1.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.820 | 4.000 | 4.000 | Hitting_AB | 3.626 | 4.000 | 0.374 | 0.000 |
| predicted_AVG | 0.260 | 0.000 | 0.250 | Hitting_AVG | 0.219 | 0.250 | -0.219 | -0.250 |
| predicted_BB | 0.567 | 1.000 | 1.000 | Hitting_BB | 0.639 | 0.000 | 0.361 | 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 | 0.793 | 1.000 | -0.793 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_OBP | 0.345 | 0.200 | 0.400 | Hitting_OBP | 0.332 | 0.250 | -0.132 | -0.050 |
| predicted_R | 0.642 | 0.000 | 1.000 | Hitting_R | 0.630 | 1.000 | -0.630 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.612 | 0.000 | -0.612 | 0.000 |
| predicted_SLG | 0.471 | 0.000 | 0.250 | Hitting_SLG | 0.408 | 0.500 | -0.408 | -0.500 |
| predicted_SO | 0.687 | 1.000 | 1.000 | Hitting_SO | 0.718 | 2.000 | 0.282 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.5670 -> 1.0000 (boost 0.4330, 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 | 5 | 4 | 1 | 4 | 1 | predicted_R: 0.6420 -> 0.7296 (boost 0.0876, better) | predicted_AB: 3.8200 -> 3.7156 (deboost -0.1044, worse) | Final model input calibrated with local 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.4897 -> 0.4623 (deboost -0.0274, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.5209 -> 1.0000 (boost 0.4791, better) | predicted_2B: 0.1895 -> 0.0000 (deboost -0.1895, worse) | AB rounded to 4 (raw=3.82), rates preserved: AVG=0.253 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6836 -> 1.0000 (boost 0.3164, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3507 -> 0.4000 (boost 0.0493, better) | predicted_SLG: 0.4623 -> 0.2500 (deboost -0.2123, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4623 (boost 0.2123, better) | predicted_OBP: 0.4000 -> 0.3507 (deboost -0.0493, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.03,
"predicted_AB": 3.82,
"predicted_AVG": 0.26,
"predicted_BB": 0.567,
"predicted_H": 0.99,
"predicted_HR": 0.16,
"predicted_OBP": 0.345,
"predicted_R": 0.642,
"predicted_RBI": 0.58,
"predicted_SLG": 0.471,
"predicted_SO": 0.687
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1895,
"predicted_3B": 0.0477,
"predicted_AB": 3.7156,
"predicted_AVG": 0.2706,
"predicted_BB": 0.524,
"predicted_H": 1.0018,
"predicted_HBP": 0.003,
"predicted_HR": 0.1592,
"predicted_OBP": 0.3519,
"predicted_R": 0.7296,
"predicted_RBI": 0.5893,
"predicted_SLG": 0.4897,
"predicted_SO": 0.6971
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1895,
"delta": 0.0105,
"percent_delta": 0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0477,
"delta": 0.0177,
"percent_delta": 0.59,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.82,
"after": 3.7156,
"delta": -0.1044,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2706,
"delta": 0.0106,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.567,
"after": 0.524,
"delta": -0.043,
"percent_delta": -0.0758,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0018,
"delta": 0.0118,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1592,
"delta": -0.0008,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3519,
"delta": 0.0069,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.642,
"after": 0.7296,
"delta": 0.0876,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5893,
"delta": 0.0093,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4897,
"delta": 0.0187,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.687,
"after": 0.6971,
"delta": 0.0101,
"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_R",
"before": 0.642,
"after": 0.7296,
"delta": 0.0876,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.82,
"after": 3.7156,
"delta": -0.1044,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1895,
"predicted_3B": 0.0477,
"predicted_AB": 3.7156,
"predicted_AVG": 0.2597,
"predicted_BB": 0.5209,
"predicted_H": 0.9648,
"predicted_HBP": 0.003,
"predicted_HR": 0.156,
"predicted_OBP": 0.3507,
"predicted_R": 0.6836,
"predicted_RBI": 0.5522,
"predicted_SLG": 0.4623,
"predicted_SO": 0.7012
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1895,
"after": 0.1895,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0477,
"after": 0.0477,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7156,
"after": 3.7156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2706,
"after": 0.2597,
"delta": -0.0109,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.524,
"after": 0.5209,
"delta": -0.0031,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0018,
"after": 0.9648,
"delta": -0.037,
"percent_delta": -0.0369,
"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.1592,
"after": 0.156,
"delta": -0.0032,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3519,
"after": 0.3507,
"delta": -0.0012,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7296,
"after": 0.6836,
"delta": -0.046,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5893,
"after": 0.5522,
"delta": -0.0371,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4897,
"after": 0.4623,
"delta": -0.0274,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6971,
"after": 0.7012,
"delta": 0.0041,
"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.4897,
"after": 0.4623,
"delta": -0.0274,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.82), rates preserved: AVG=0.253 HR/AB=0.041",
"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.1895,
"after": 0.0,
"delta": -0.1895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0477,
"after": 0.0,
"delta": -0.0477,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7156,
"after": 4.0,
"delta": 0.2844,
"percent_delta": 0.0765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9648,
"after": 1.0,
"delta": 0.0352,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5522,
"after": 1.0,
"delta": 0.4478,
"percent_delta": 0.8109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7012,
"after": 1.0,
"delta": 0.2988,
"percent_delta": 0.4261,
"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.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1895,
"after": 0.0,
"delta": -0.1895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6836,
"after": 1.0,
"delta": 0.3164,
"percent_delta": 0.4628,
"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.6836,
"after": 1.0,
"delta": 0.3164,
"percent_delta": 0.4628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2597,
"after": 0.25,
"delta": -0.0097,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3507,
"after": 0.4,
"delta": 0.0493,
"percent_delta": 0.1406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4623,
"after": 0.25,
"delta": -0.2123,
"percent_delta": -0.4592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3507,
"after": 0.4,
"delta": 0.0493,
"percent_delta": 0.1406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4623,
"after": 0.25,
"delta": -0.2123,
"percent_delta": -0.4592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.2597,
"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.3507,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4623,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3507,
"delta": -0.0493,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4623,
"delta": 0.2123,
"percent_delta": 0.8493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4623,
"delta": 0.2123,
"percent_delta": 0.8493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3507,
"delta": -0.0493,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "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.03,
"after": 0.0,
"delta": -0.03,
"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.26,
"after": 0.2597,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.567,
"after": 1.0,
"delta": 0.433,
"percent_delta": 0.7637,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3507,
"delta": 0.0057,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.642,
"after": 0.0,
"delta": -0.642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4623,
"delta": -0.0087,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.687,
"after": 1.0,
"delta": 0.313,
"percent_delta": 0.4556,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.567,
"after": 1.0,
"delta": 0.433,
"percent_delta": 0.7637,
"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.179 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.820 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.567 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.642 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.687 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.048 | 0.018 |
| predicted_AB | 3.716 | -0.104 |
| predicted_AVG | 0.271 | 0.011 |
| predicted_BB | 0.524 | -0.043 |
| predicted_H | 1.002 | 0.012 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.159 | -0.001 |
| predicted_OBP | 0.352 | 0.007 |
| predicted_R | 0.730 | 0.088 |
| predicted_RBI | 0.589 | 0.009 |
| predicted_SLG | 0.490 | 0.019 |
| predicted_SO | 0.697 | 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.190 | 0.000 |
| predicted_3B | 0.048 | 0.000 |
| predicted_AB | 3.716 | 0.000 |
| predicted_AVG | 0.260 | -0.011 |
| predicted_BB | 0.521 | -0.003 |
| predicted_H | 0.965 | -0.037 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.156 | -0.003 |
| predicted_OBP | 0.351 | -0.001 |
| predicted_R | 0.684 | -0.046 |
| predicted_RBI | 0.552 | -0.037 |
| predicted_SLG | 0.462 | -0.027 |
| predicted_SO | 0.701 | 0.004 |
AB rounded to 4 (raw=3.82), rates preserved: AVG=0.253 HR/AB=0.041
| 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.190 |
| predicted_3B | 0.000 | -0.048 |
| predicted_AB | 4.000 | 0.284 |
| predicted_AVG | 0.250 | -0.010 |
| predicted_BB | 1.000 | 0.479 |
| predicted_H | 1.000 | 0.035 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.400 | 0.049 |
| predicted_R | 1.000 | 0.316 |
| predicted_RBI | 1.000 | 0.448 |
| predicted_SLG | 0.250 | -0.212 |
| predicted_SO | 1.000 | 0.299 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 17.000 | 6.000 | 1.000 | 1.000 | 1.000 | 4.000 | 7.000 | 2.000 | 4.000 | 0.3529 | 0.4000 | 0.7059 | 0.3529 | 0.0588 | 0.2353 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 39.000 | 15.000 | 3.000 | 1.000 | 2.000 | 6.000 | 11.000 | 3.000 | 6.000 | 0.3846 | 0.4186 | 0.6667 | 0.3846 | 0.0513 | 0.1538 | 0.0769 | 0.1538 |
| season | 0.60 | 67 | - | 233.000 | 55.000 | 12.000 | 2.000 | 9.000 | 37.000 | 43.000 | 38.000 | 46.000 | 0.2361 | 0.3394 | 0.4206 | 0.2361 | 0.0386 | 0.1588 | 0.1631 | 0.1974 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2040 |
| predicted_3B | 0.0720 |
| predicted_AB | 3.5720 |
| predicted_AVG | 0.2851 |
| predicted_BB | 0.4650 |
| predicted_H | 1.0180 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.3613 |
| predicted_R | 0.8500 |
| predicted_RBI | 0.6020 |
| predicted_SLG | 0.5153 |
| predicted_SO | 0.7110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.2040 | 0.1895 | model_form_blend |
| predicted_3B | 0.0300 | 0.0720 | 0.0477 | model_form_blend |
| predicted_AB | 3.8200 | 3.5720 | 3.7156 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2851 | 0.2706 | model_form_blend |
| predicted_BB | 0.5670 | 0.4650 | 0.5240 | model_form_blend |
| predicted_H | 0.9900 | 1.0180 | 1.0018 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1600 | 0.1580 | 0.1592 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3613 | 0.3519 | model_form_blend |
| predicted_R | 0.6420 | 0.8500 | 0.7296 | model_form_blend |
| predicted_RBI | 0.5800 | 0.6020 | 0.5893 | model_form_blend |
| predicted_SLG | 0.4710 | 0.5153 | 0.4897 | model_form_blend |
| predicted_SO | 0.6870 | 0.7110 | 0.6971 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 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 | 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 | 20260705_MIN@NYY |
| game_type | full |
| mlbID | 663757 |
| playerID | 663757 |
| playerName | Trent Grisham |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-05 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.336 |
| sl_xwoba | 0.353 |
| sl_xba | 0.253 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 17.4 |
| sl_whiff_percent | 16.8 |
| sl_swing_percent | 36.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.181 | 0.000 | 0.000 | Hitting_2B | 0.223 | 0.000 | -0.223 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.070 | 4.000 | 4.000 | Hitting_AB | 3.773 | 4.000 | 0.227 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.289 | 0.250 | -0.289 | -0.250 |
| predicted_BB | 0.530 | 1.000 | 1.000 | Hitting_BB | 0.595 | 0.000 | 0.405 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 1.089 | 1.000 | -1.089 | -1.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_OBP | 0.331 | 0.200 | 0.400 | Hitting_OBP | 0.390 | 0.250 | -0.190 | -0.050 |
| predicted_R | 0.699 | 0.000 | 1.000 | Hitting_R | 0.810 | 0.000 | -0.810 | 0.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.749 | 0.000 | -0.749 | 0.000 |
| predicted_SLG | 0.470 | 0.000 | 0.250 | Hitting_SLG | 0.608 | 0.250 | -0.608 | -0.250 |
| predicted_SO | 1.012 | 3.000 | 1.000 | Hitting_SO | 1.016 | 1.000 | 1.984 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.0120 -> 3.0000 (boost 1.9880, worse) |
| Biggest Deboost | predicted_H: 0.9700 -> 0.0000 (deboost -0.9700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.4700 -> 0.4840 (boost 0.0140, better) | predicted_AB: 4.0700 -> 3.8871 (deboost -0.1829, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3354 -> 0.3198 (deboost -0.0156, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 4 | 3 | predicted_BB: 0.5311 -> 1.0000 (boost 0.4689, better) | predicted_HR: 0.2533 -> 0.0000 (deboost -0.2533, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.217 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5877 -> 1.0000 (boost 0.4123, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3198 -> 0.4000 (boost 0.0802, better) | predicted_SLG: 0.4713 -> 0.2500 (deboost -0.2213, 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 -> 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4713 (boost 0.2213, better) | predicted_OBP: 0.4000 -> 0.3198 (deboost -0.0802, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "700250",
"player_name": "Ben Rice",
"position": "DH",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.181,
"predicted_3B": 0.024,
"predicted_AB": 4.07,
"predicted_AVG": 0.237,
"predicted_BB": 0.53,
"predicted_H": 0.97,
"predicted_HR": 0.24,
"predicted_OBP": 0.331,
"predicted_R": 0.699,
"predicted_RBI": 0.58,
"predicted_SLG": 0.47,
"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.1511,
"predicted_3B": 0.0197,
"predicted_AB": 3.8871,
"predicted_AVG": 0.2346,
"predicted_BB": 0.5343,
"predicted_H": 0.9157,
"predicted_HBP": 0.081,
"predicted_HR": 0.2584,
"predicted_OBP": 0.3354,
"predicted_R": 0.6272,
"predicted_RBI": 0.5753,
"predicted_SLG": 0.484,
"predicted_SO": 0.9722
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.1511,
"delta": -0.0299,
"percent_delta": -0.1652,
"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.07,
"after": 3.8871,
"delta": -0.1829,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2346,
"delta": -0.0024,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.53,
"after": 0.5343,
"delta": 0.0043,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9157,
"delta": -0.0543,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2584,
"delta": 0.0184,
"percent_delta": 0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3354,
"delta": 0.0044,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.699,
"after": 0.6272,
"delta": -0.0718,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5753,
"delta": -0.0047,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.484,
"delta": 0.014,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 0.9722,
"delta": -0.0398,
"percent_delta": -0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.484,
"delta": 0.014,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.8871,
"delta": -0.1829,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1511,
"predicted_3B": 0.0197,
"predicted_AB": 3.8871,
"predicted_AVG": 0.2269,
"predicted_BB": 0.5311,
"predicted_H": 0.8819,
"predicted_HBP": 0.081,
"predicted_HR": 0.2533,
"predicted_OBP": 0.3198,
"predicted_R": 0.5877,
"predicted_RBI": 0.5391,
"predicted_SLG": 0.4713,
"predicted_SO": 0.9779
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1511,
"after": 0.1511,
"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": 3.8871,
"after": 3.8871,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2346,
"after": 0.2269,
"delta": -0.0077,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5343,
"after": 0.5311,
"delta": -0.0032,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9157,
"after": 0.8819,
"delta": -0.0338,
"percent_delta": -0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2584,
"after": 0.2533,
"delta": -0.0051,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3354,
"after": 0.3198,
"delta": -0.0156,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6272,
"after": 0.5877,
"delta": -0.0395,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5753,
"after": 0.5391,
"delta": -0.0362,
"percent_delta": -0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.484,
"after": 0.4713,
"delta": -0.0127,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9722,
"after": 0.9779,
"delta": 0.0057,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3354,
"after": 0.3198,
"delta": -0.0156,
"percent_delta": -0.0465,
"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.217 HR/AB=0.062",
"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.1511,
"after": 0.0,
"delta": -0.1511,
"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": 3.8871,
"after": 4.0,
"delta": 0.1129,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5311,
"after": 1.0,
"delta": 0.4689,
"percent_delta": 0.8829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8819,
"after": 1.0,
"delta": 0.1181,
"percent_delta": 0.1339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2533,
"after": 0.0,
"delta": -0.2533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5391,
"after": 1.0,
"delta": 0.4609,
"percent_delta": 0.8549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9779,
"after": 1.0,
"delta": 0.0221,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5311,
"after": 1.0,
"delta": 0.4689,
"percent_delta": 0.8829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2533,
"after": 0.0,
"delta": -0.2533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5877,
"after": 1.0,
"delta": 0.4123,
"percent_delta": 0.7015,
"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.5877,
"after": 1.0,
"delta": 0.4123,
"percent_delta": 0.7015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2269,
"after": 0.25,
"delta": 0.0231,
"percent_delta": 0.1018,
"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.3198,
"after": 0.4,
"delta": 0.0802,
"percent_delta": 0.2508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4713,
"after": 0.25,
"delta": -0.2213,
"percent_delta": -0.4696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3198,
"after": 0.4,
"delta": 0.0802,
"percent_delta": 0.2508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4713,
"after": 0.25,
"delta": -0.2213,
"percent_delta": -0.4696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.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": 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.2269,
"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.3198,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4713,
"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.2269,
"delta": -0.0231,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3198,
"delta": -0.0802,
"percent_delta": -0.2004,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4713,
"delta": 0.2213,
"percent_delta": 0.8854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4713,
"delta": 0.2213,
"percent_delta": 0.8854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3198,
"delta": -0.0802,
"percent_delta": -0.2004,
"direction": "deboost",
"projection_effect": "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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 4.0,
"delta": -0.07,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2269,
"delta": -0.0101,
"percent_delta": -0.0426,
"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.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3198,
"delta": -0.0112,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.699,
"after": 0.0,
"delta": -0.699,
"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.47,
"after": 0.4713,
"delta": 0.0013,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 3.0,
"delta": 1.988,
"percent_delta": 1.9644,
"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.012,
"after": 3.0,
"delta": 1.988,
"percent_delta": 1.9644,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.530 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.699 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.470 | - |
| 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.151 | -0.030 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.887 | -0.183 |
| predicted_AVG | 0.235 | -0.002 |
| predicted_BB | 0.534 | 0.004 |
| predicted_H | 0.916 | -0.054 |
| predicted_HBP | 0.081 | - |
| predicted_HR | 0.258 | 0.018 |
| predicted_OBP | 0.335 | 0.004 |
| predicted_R | 0.627 | -0.072 |
| predicted_RBI | 0.575 | -0.005 |
| predicted_SLG | 0.484 | 0.014 |
| predicted_SO | 0.972 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.887 | 0.000 |
| predicted_AVG | 0.227 | -0.008 |
| predicted_BB | 0.531 | -0.003 |
| predicted_H | 0.882 | -0.034 |
| predicted_HBP | 0.081 | 0.000 |
| predicted_HR | 0.253 | -0.005 |
| predicted_OBP | 0.320 | -0.016 |
| predicted_R | 0.588 | -0.039 |
| predicted_RBI | 0.539 | -0.036 |
| predicted_SLG | 0.471 | -0.013 |
| predicted_SO | 0.978 | 0.006 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.217 HR/AB=0.062
| 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.151 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.113 |
| predicted_AVG | 0.250 | 0.023 |
| predicted_BB | 1.000 | 0.469 |
| predicted_H | 1.000 | 0.118 |
| predicted_HR | 0.000 | -0.253 |
| predicted_OBP | 0.400 | 0.080 |
| predicted_R | 1.000 | 0.412 |
| predicted_RBI | 1.000 | 0.461 |
| predicted_SLG | 0.250 | -0.221 |
| predicted_SO | 1.000 | 0.022 |
Attached simulation box 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 | 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 | - | 17.000 | 4.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 4.000 | 4.000 | 0.2353 | 0.4091 | 0.5882 | 0.2353 | 0.1177 | 0.1765 | 0.2353 | 0.2353 |
| last_10 | 0.20 | 10 | - | 35.000 | 4.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 4.000 | 8.000 | 0.1143 | 0.2250 | 0.2857 | 0.1143 | 0.0571 | 0.0857 | 0.1143 | 0.2286 |
| season | 0.60 | 83 | - | 311.000 | 83.000 | 15.000 | 2.000 | 24.000 | 55.000 | 58.000 | 44.000 | 84.000 | 0.2669 | 0.3621 | 0.5595 | 0.2669 | 0.0772 | 0.1769 | 0.1415 | 0.2701 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1110 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.6420 |
| predicted_AVG | 0.2314 |
| predicted_BB | 0.5400 |
| predicted_H | 0.8430 |
| predicted_HBP | 0.0810 |
| predicted_HR | 0.2830 |
| predicted_OBP | 0.3412 |
| predicted_R | 0.5310 |
| predicted_RBI | 0.5690 |
| predicted_SLG | 0.5027 |
| predicted_SO | 0.9190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.1110 | 0.1511 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 4.0700 | 3.6420 | 3.8871 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2314 | 0.2346 | model_form_blend |
| predicted_BB | 0.5300 | 0.5400 | 0.5343 | model_form_blend |
| predicted_H | 0.9700 | 0.8430 | 0.9157 | model_form_blend |
| predicted_HBP | - | 0.0810 | 0.0810 | form_only |
| predicted_HR | 0.2400 | 0.2830 | 0.2584 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3412 | 0.3354 | model_form_blend |
| predicted_R | 0.6990 | 0.5310 | 0.6272 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5690 | 0.5753 | model_form_blend |
| predicted_SLG | 0.4700 | 0.5027 | 0.4840 | model_form_blend |
| predicted_SO | 1.0120 | 0.9190 | 0.9722 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260705_MIN@NYY |
| game_type | full |
| mlbID | 700250 |
| playerID | 700250 |
| playerName | Ben Rice |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-05 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.39 |
| sl_xwoba | 0.369 |
| sl_xba | 0.264 |
| sl_xslg | 0.494 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 14.0 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 43.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.286 | 0.000 | 0.000 | Hitting_2B | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.821 | 4.000 | 4.000 | Hitting_AB | 3.849 | 4.000 | 0.151 | 0.000 |
| predicted_AVG | 0.232 | 0.250 | 0.250 | Hitting_AVG | 0.221 | 0.000 | 0.029 | 0.250 |
| predicted_BB | 0.143 | 0.000 | 0.000 | Hitting_BB | 0.151 | 0.000 | -0.151 | 0.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.849 | 0.000 | 0.151 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.272 | 0.250 | 0.250 | Hitting_OBP | 0.257 | 0.000 | -0.007 | 0.250 |
| predicted_R | 0.321 | 0.000 | 0.000 | Hitting_R | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_SLG | 0.395 | 0.250 | 0.250 | Hitting_SLG | 0.417 | 0.000 | -0.167 | 0.250 |
| predicted_SO | 0.821 | 0.000 | 1.000 | Hitting_SO | 0.660 | 0.000 | -0.660 | 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.8210 -> 4.0000 (boost 0.1790, better) |
| Biggest Deboost | predicted_SO: 0.8210 -> 0.0000 (deboost -0.8210, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2720 -> 0.2661 (deboost -0.0059, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2661 -> 0.2491 (deboost -0.0170, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.7974 -> 1.0000 (boost 0.2026, worse) | predicted_RBI: 0.3682 -> 0.0000 (deboost -0.3682, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.220 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3015 -> 0.0000 (deboost -0.3015, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2201 -> 0.2500 (boost 0.0299, better) | predicted_SLG: 0.3936 -> 0.2500 (deboost -0.1436, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3936 (boost 0.1436, better) | predicted_AVG: 0.2500 -> 0.2201 (deboost -0.0299, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691176",
"player_name": "Jasson Domínguez",
"position": "RF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.286,
"predicted_3B": 0.0,
"predicted_AB": 3.821,
"predicted_AVG": 0.232,
"predicted_BB": 0.143,
"predicted_H": 0.89,
"predicted_HR": 0.13,
"predicted_OBP": 0.272,
"predicted_R": 0.321,
"predicted_RBI": 0.4,
"predicted_SLG": 0.395,
"predicted_SO": 0.821
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.267,
"predicted_3B": 0.0012,
"predicted_AB": 3.8354,
"predicted_AVG": 0.2279,
"predicted_BB": 0.1492,
"predicted_H": 0.8764,
"predicted_HBP": 0.024,
"predicted_HR": 0.1347,
"predicted_OBP": 0.2661,
"predicted_R": 0.3218,
"predicted_RBI": 0.393,
"predicted_SLG": 0.3952,
"predicted_SO": 0.7927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.286,
"after": 0.267,
"delta": -0.019,
"percent_delta": -0.0664,
"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.821,
"after": 3.8354,
"delta": 0.0144,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2279,
"delta": -0.0041,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.1492,
"delta": 0.0062,
"percent_delta": 0.0434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8764,
"delta": -0.0136,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1347,
"delta": 0.0047,
"percent_delta": 0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2661,
"delta": -0.0059,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 0.3218,
"delta": 0.0008,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.393,
"delta": -0.007,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3952,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 0.7927,
"delta": -0.0283,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2661,
"delta": -0.0059,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 28
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.267,
"predicted_3B": 0.0012,
"predicted_AB": 3.8354,
"predicted_AVG": 0.2201,
"predicted_BB": 0.1483,
"predicted_H": 0.8441,
"predicted_HBP": 0.024,
"predicted_HR": 0.132,
"predicted_OBP": 0.2491,
"predicted_R": 0.3015,
"predicted_RBI": 0.3682,
"predicted_SLG": 0.3936,
"predicted_SO": 0.7974
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.267,
"after": 0.267,
"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.8354,
"after": 3.8354,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2279,
"after": 0.2201,
"delta": -0.0078,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1492,
"after": 0.1483,
"delta": -0.0009,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8764,
"after": 0.8441,
"delta": -0.0323,
"percent_delta": -0.0369,
"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.1347,
"after": 0.132,
"delta": -0.0027,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2661,
"after": 0.2491,
"delta": -0.017,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3218,
"after": 0.3015,
"delta": -0.0203,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.393,
"after": 0.3682,
"delta": -0.0248,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3952,
"after": 0.3936,
"delta": -0.0016,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7927,
"after": 0.7974,
"delta": 0.0047,
"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_OBP",
"before": 0.2661,
"after": 0.2491,
"delta": -0.017,
"percent_delta": -0.0639,
"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.220 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"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.8354,
"after": 4.0,
"delta": 0.1646,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1483,
"after": 0.0,
"delta": -0.1483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8441,
"after": 1.0,
"delta": 0.1559,
"percent_delta": 0.1847,
"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.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3682,
"after": 0.0,
"delta": -0.3682,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7974,
"after": 1.0,
"delta": 0.2026,
"percent_delta": 0.2541,
"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.7974,
"after": 1.0,
"delta": 0.2026,
"percent_delta": 0.2541,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3682,
"after": 0.0,
"delta": -0.3682,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3015,
"after": 0.0,
"delta": -0.3015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3015,
"after": 0.0,
"delta": -0.3015,
"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.2201,
"after": 0.25,
"delta": 0.0299,
"percent_delta": 0.1358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2491,
"after": 0.25,
"delta": 0.0009,
"percent_delta": 0.0036,
"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.3936,
"after": 0.25,
"delta": -0.1436,
"percent_delta": -0.3648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.2201,
"after": 0.25,
"delta": 0.0299,
"percent_delta": 0.1358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3936,
"after": 0.25,
"delta": -0.1436,
"percent_delta": -0.3648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2201,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2491,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3936,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2201,
"delta": -0.0299,
"percent_delta": -0.1197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2491,
"delta": -0.0009,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3936,
"delta": 0.1436,
"percent_delta": 0.5743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.3936,
"delta": 0.1436,
"percent_delta": 0.5743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2201,
"delta": -0.0299,
"percent_delta": -0.1197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.821,
"after": 4.0,
"delta": 0.179,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2201,
"delta": -0.0119,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2491,
"delta": -0.0229,
"percent_delta": -0.0842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3936,
"delta": -0.0014,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 0.0,
"delta": -0.821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.821,
"after": 4.0,
"delta": 0.179,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.821,
"after": 0.0,
"delta": -0.821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.286 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.821 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.143 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.321 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.821 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.267 | -0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.835 | 0.014 |
| predicted_AVG | 0.228 | -0.004 |
| predicted_BB | 0.149 | 0.006 |
| predicted_H | 0.876 | -0.014 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.135 | 0.005 |
| predicted_OBP | 0.266 | -0.006 |
| predicted_R | 0.322 | 0.001 |
| predicted_RBI | 0.393 | -0.007 |
| predicted_SLG | 0.395 | 0.000 |
| predicted_SO | 0.793 | -0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.267 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.835 | 0.000 |
| predicted_AVG | 0.220 | -0.008 |
| predicted_BB | 0.148 | -0.001 |
| predicted_H | 0.844 | -0.032 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.132 | -0.003 |
| predicted_OBP | 0.249 | -0.017 |
| predicted_R | 0.301 | -0.020 |
| predicted_RBI | 0.368 | -0.025 |
| predicted_SLG | 0.394 | -0.002 |
| predicted_SO | 0.797 | 0.005 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.220 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.267 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.165 |
| predicted_AVG | 0.250 | 0.030 |
| predicted_BB | 0.000 | -0.148 |
| predicted_H | 1.000 | 0.156 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.250 | 0.001 |
| predicted_R | 0.000 | -0.301 |
| predicted_RBI | 0.000 | -0.368 |
| predicted_SLG | 0.250 | -0.144 |
| predicted_SO | 1.000 | 0.203 |
Attached simulation box 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 | - | 21.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 2.000 | 0.2381 | 0.2381 | 0.4286 | 0.2381 | 0.0476 | 0.0952 | 0.0000 | 0.0952 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 2.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 7.000 | 0.1892 | 0.2308 | 0.3243 | 0.1892 | 0.0270 | 0.0811 | 0.0541 | 0.1892 |
| season | 0.60 | 28 | - | 107.000 | 23.000 | 8.000 | 0.000 | 4.000 | 10.000 | 9.000 | 4.000 | 23.000 | 0.2150 | 0.2500 | 0.4019 | 0.2150 | 0.0374 | 0.0935 | 0.0374 | 0.2150 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2370 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.8580 |
| predicted_AVG | 0.2215 |
| predicted_BB | 0.1590 |
| predicted_H | 0.8550 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.2569 |
| predicted_R | 0.3230 |
| predicted_RBI | 0.3820 |
| predicted_SLG | 0.3955 |
| predicted_SO | 0.7480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2860 | 0.2370 | 0.2670 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.8210 | 3.8580 | 3.8354 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2215 | 0.2279 | model_form_blend |
| predicted_BB | 0.1430 | 0.1590 | 0.1492 | model_form_blend |
| predicted_H | 0.8900 | 0.8550 | 0.8764 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1300 | 0.1420 | 0.1347 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2569 | 0.2661 | model_form_blend |
| predicted_R | 0.3210 | 0.3230 | 0.3218 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3820 | 0.3930 | model_form_blend |
| predicted_SLG | 0.3950 | 0.3955 | 0.3952 | model_form_blend |
| predicted_SO | 0.8210 | 0.7480 | 0.7927 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 28 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.215 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.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 | 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 | 20260705_MIN@NYY |
| game_type | full |
| mlbID | 691176 |
| playerID | 691176 |
| playerName | Jasson Domínguez |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.282 |
| sl_xwoba | 0.29 |
| sl_xba | 0.261 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 53.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.131 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.548 | 4.000 | 4.000 | Hitting_AB | 3.706 | 2.000 | 0.294 | 2.000 |
| predicted_AVG | 0.236 | 0.500 | 0.250 | Hitting_AVG | 0.243 | 0.500 | 0.257 | 0.000 |
| predicted_BB | 0.381 | 0.000 | 0.000 | Hitting_BB | 0.448 | 0.000 | -0.448 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 1.000 | -0.060 | -1.000 |
| predicted_H | 0.830 | 2.000 | 1.000 | Hitting_H | 0.899 | 1.000 | 1.101 | 1.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | 0.867 | 1.000 |
| predicted_OBP | 0.295 | 0.500 | 0.250 | Hitting_OBP | 0.325 | 0.500 | 0.175 | 0.000 |
| predicted_R | 0.500 | 1.000 | 0.000 | Hitting_R | 0.536 | 0.000 | 0.464 | 1.000 |
| predicted_RBI | 0.310 | 2.000 | 0.000 | Hitting_RBI | 0.423 | 0.000 | 1.577 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_SLG | 0.367 | 1.250 | 0.250 | Hitting_SLG | 0.409 | 0.500 | 0.841 | 0.750 |
| predicted_SO | 1.155 | 0.000 | 1.000 | Hitting_SO | 1.185 | 0.000 | -1.185 | 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.3100 -> 2.0000 (boost 1.6900, better) |
| Biggest Deboost | predicted_SO: 1.1550 -> 0.0000 (deboost -1.1550, 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.5480 -> 3.4633 (deboost -0.0847, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2312 -> 0.2217 (deboost -0.0095, 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.4633 -> 4.0000 (boost 0.5367, better) | predicted_BB: 0.3449 -> 0.0000 (deboost -0.3449, worse) | AB rounded to 4 (raw=3.55), rates preserved: AVG=0.216 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4206 -> 0.0000 (deboost -0.4206, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2217 -> 0.2500 (boost 0.0283, better) | predicted_SLG: 0.3513 -> 0.2500 (deboost -0.1013, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3513 (boost 0.1013, better) | predicted_AVG: 0.2500 -> 0.2217 (deboost -0.0283, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"position": "2B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.131,
"predicted_3B": 0.024,
"predicted_AB": 3.548,
"predicted_AVG": 0.236,
"predicted_BB": 0.381,
"predicted_H": 0.83,
"predicted_HR": 0.1,
"predicted_OBP": 0.295,
"predicted_R": 0.5,
"predicted_RBI": 0.31,
"predicted_SLG": 0.367,
"predicted_SO": 1.155
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1361,
"predicted_3B": 0.0193,
"predicted_AB": 3.4633,
"predicted_AVG": 0.2312,
"predicted_BB": 0.3469,
"predicted_H": 0.7972,
"predicted_HBP": 0.009,
"predicted_HR": 0.0932,
"predicted_OBP": 0.2926,
"predicted_R": 0.4489,
"predicted_RBI": 0.2802,
"predicted_SLG": 0.3601,
"predicted_SO": 1.149
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.131,
"after": 0.1361,
"delta": 0.0051,
"percent_delta": 0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0193,
"delta": -0.0047,
"percent_delta": -0.1958,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.548,
"after": 3.4633,
"delta": -0.0847,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2312,
"delta": -0.0048,
"percent_delta": -0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.3469,
"delta": -0.0341,
"percent_delta": -0.0895,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.7972,
"delta": -0.0328,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0932,
"delta": -0.0068,
"percent_delta": -0.068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2926,
"delta": -0.0024,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4489,
"delta": -0.0511,
"percent_delta": -0.1022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.2802,
"delta": -0.0298,
"percent_delta": -0.0961,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3601,
"delta": -0.0069,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.155,
"after": 1.149,
"delta": -0.006,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.548,
"after": 3.4633,
"delta": -0.0847,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1361,
"predicted_3B": 0.0193,
"predicted_AB": 3.4633,
"predicted_AVG": 0.2217,
"predicted_BB": 0.3449,
"predicted_H": 0.7678,
"predicted_HBP": 0.009,
"predicted_HR": 0.0913,
"predicted_OBP": 0.2922,
"predicted_R": 0.4206,
"predicted_RBI": 0.2625,
"predicted_SLG": 0.3513,
"predicted_SO": 1.1558
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1361,
"after": 0.1361,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0193,
"after": 0.0193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4633,
"after": 3.4633,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2312,
"after": 0.2217,
"delta": -0.0095,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3469,
"after": 0.3449,
"delta": -0.002,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7972,
"after": 0.7678,
"delta": -0.0294,
"percent_delta": -0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0932,
"after": 0.0913,
"delta": -0.0019,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2926,
"after": 0.2922,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4489,
"after": 0.4206,
"delta": -0.0283,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2802,
"after": 0.2625,
"delta": -0.0177,
"percent_delta": -0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3601,
"after": 0.3513,
"delta": -0.0088,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.149,
"after": 1.1558,
"delta": 0.0068,
"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_AVG",
"before": 0.2312,
"after": 0.2217,
"delta": -0.0095,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.55), rates preserved: AVG=0.216 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.1361,
"after": 0.0,
"delta": -0.1361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0193,
"after": 0.0,
"delta": -0.0193,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4633,
"after": 4.0,
"delta": 0.5367,
"percent_delta": 0.155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3449,
"after": 0.0,
"delta": -0.3449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7678,
"after": 1.0,
"delta": 0.2322,
"percent_delta": 0.3024,
"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.0913,
"after": 0.0,
"delta": -0.0913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2625,
"after": 0.0,
"delta": -0.2625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1558,
"after": 1.0,
"delta": -0.1558,
"percent_delta": -0.1348,
"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.4633,
"after": 4.0,
"delta": 0.5367,
"percent_delta": 0.155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3449,
"after": 0.0,
"delta": -0.3449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.4206,
"after": 0.0,
"delta": -0.4206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4206,
"after": 0.0,
"delta": -0.4206,
"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.2217,
"after": 0.25,
"delta": 0.0283,
"percent_delta": 0.1276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2922,
"after": 0.25,
"delta": -0.0422,
"percent_delta": -0.1444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3513,
"after": 0.25,
"delta": -0.1013,
"percent_delta": -0.2884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2217,
"after": 0.25,
"delta": 0.0283,
"percent_delta": 0.1276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3513,
"after": 0.25,
"delta": -0.1013,
"percent_delta": -0.2884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2217,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2922,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3513,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2217,
"delta": -0.0283,
"percent_delta": -0.1132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2922,
"delta": 0.0422,
"percent_delta": 0.1687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3513,
"delta": 0.1013,
"percent_delta": 0.405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3513,
"delta": 0.1013,
"percent_delta": 0.405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2217,
"delta": -0.0283,
"percent_delta": -0.1132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.131,
"after": 0.0,
"delta": -0.131,
"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.548,
"after": 4.0,
"delta": 0.452,
"percent_delta": 0.1274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2217,
"delta": -0.0143,
"percent_delta": -0.0606,
"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.83,
"after": 2.0,
"delta": 1.17,
"percent_delta": 1.4096,
"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.295,
"after": 0.2922,
"delta": -0.0028,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.31,
"after": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3513,
"delta": -0.0157,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.155,
"after": 0.0,
"delta": -1.155,
"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.31,
"after": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.155,
"after": 0.0,
"delta": -1.155,
"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.131 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.548 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 1.155 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.005 |
| predicted_3B | 0.019 | -0.005 |
| predicted_AB | 3.463 | -0.085 |
| predicted_AVG | 0.231 | -0.005 |
| predicted_BB | 0.347 | -0.034 |
| predicted_H | 0.797 | -0.033 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.093 | -0.007 |
| predicted_OBP | 0.293 | -0.002 |
| predicted_R | 0.449 | -0.051 |
| predicted_RBI | 0.280 | -0.030 |
| predicted_SLG | 0.360 | -0.007 |
| predicted_SO | 1.149 | -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.136 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.463 | 0.000 |
| predicted_AVG | 0.222 | -0.009 |
| predicted_BB | 0.345 | -0.002 |
| predicted_H | 0.768 | -0.029 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.091 | -0.002 |
| predicted_OBP | 0.292 | -0.000 |
| predicted_R | 0.421 | -0.028 |
| predicted_RBI | 0.263 | -0.018 |
| predicted_SLG | 0.351 | -0.009 |
| predicted_SO | 1.156 | 0.007 |
AB rounded to 4 (raw=3.55), rates preserved: AVG=0.216 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.136 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.537 |
| predicted_AVG | 0.250 | 0.028 |
| predicted_BB | 0.000 | -0.345 |
| predicted_H | 1.000 | 0.232 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.250 | -0.042 |
| predicted_R | 0.000 | -0.421 |
| predicted_RBI | 0.000 | -0.263 |
| predicted_SLG | 0.250 | -0.101 |
| 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 | 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 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 6.000 | 0.2667 | 0.3125 | 0.3333 | 0.2667 | 0.0000 | 0.0000 | 0.0667 | 0.4000 |
| last_10 | 0.20 | 10 | - | 29.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 11.000 | 0.1724 | 0.2258 | 0.2069 | 0.1724 | 0.0000 | 0.0000 | 0.0690 | 0.3793 |
| season | 0.60 | 84 | - | 298.000 | 67.000 | 11.000 | 2.000 | 12.000 | 33.000 | 42.000 | 32.000 | 97.000 | 0.2248 | 0.3003 | 0.3960 | 0.2248 | 0.0403 | 0.1107 | 0.1074 | 0.3255 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1430 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.3490 |
| predicted_AVG | 0.2248 |
| predicted_BB | 0.3010 |
| predicted_H | 0.7530 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.2893 |
| predicted_R | 0.3800 |
| predicted_RBI | 0.2400 |
| predicted_SLG | 0.3509 |
| predicted_SO | 1.1410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1310 | 0.1430 | 0.1361 | model_form_blend |
| predicted_3B | 0.0240 | 0.0130 | 0.0193 | model_form_blend |
| predicted_AB | 3.5480 | 3.3490 | 3.4633 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2248 | 0.2312 | model_form_blend |
| predicted_BB | 0.3810 | 0.3010 | 0.3469 | model_form_blend |
| predicted_H | 0.8300 | 0.7530 | 0.7972 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1000 | 0.0840 | 0.0932 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2893 | 0.2926 | model_form_blend |
| predicted_R | 0.5000 | 0.3800 | 0.4489 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2400 | 0.2802 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3509 | 0.3601 | model_form_blend |
| predicted_SO | 1.1550 | 1.1410 | 1.1490 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260705_MIN@NYY |
| game_type | full |
| mlbID | 665862 |
| playerID | 665862 |
| playerName | Jazz Chisholm Jr. |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-05 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.31 |
| sl_xwoba | 0.294 |
| sl_xba | 0.209 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 31.7 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 1.000 | 0.000 | Hitting_2B | 0.169 | 0.000 | 0.831 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.333 | 4.000 | 3.000 | Hitting_AB | 3.462 | 3.000 | 0.538 | 1.000 |
| predicted_AVG | 0.235 | 0.250 | 0.333 | Hitting_AVG | 0.267 | 0.000 | -0.017 | 0.250 |
| predicted_BB | 0.213 | 0.000 | 0.000 | Hitting_BB | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 0.923 | 0.000 | 0.077 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.264 | 0.250 | 0.333 | Hitting_OBP | 0.320 | 0.000 | -0.070 | 0.250 |
| predicted_R | 0.440 | 0.000 | 0.000 | Hitting_R | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_SLG | 0.339 | 0.500 | 0.333 | Hitting_SLG | 0.413 | 0.000 | 0.087 | 0.500 |
| predicted_SO | 0.813 | 0.000 | 1.000 | Hitting_SO | 0.718 | 2.000 | -0.718 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.1330 -> 1.0000 (boost 0.8670, better) |
| Biggest Deboost | predicted_SO: 0.8130 -> 0.0000 (deboost -0.8130, 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 | 0 | 4 | predicted_SO: 0.8130 -> 0.8993 (boost 0.0863, worse) | predicted_AVG: 0.2350 -> 0.2229 (deboost -0.0121, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2229 -> 0.2091 (deboost -0.0138, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6984 -> 1.0000 (boost 0.3016, better) | predicted_AB: 3.3402 -> 3.0000 (deboost -0.3402, worse) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.209 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3871 -> 0.0000 (deboost -0.3871, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2091 -> 0.3330 (boost 0.1239, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2091 (deboost -0.1239, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676609",
"player_name": "José Caballero",
"position": "SS",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.0,
"predicted_AB": 3.333,
"predicted_AVG": 0.235,
"predicted_BB": 0.213,
"predicted_H": 0.75,
"predicted_HR": 0.09,
"predicted_OBP": 0.264,
"predicted_R": 0.44,
"predicted_RBI": 0.35,
"predicted_SLG": 0.339,
"predicted_SO": 0.813
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1141,
"predicted_3B": 0.0004,
"predicted_AB": 3.3402,
"predicted_AVG": 0.2229,
"predicted_BB": 0.1898,
"predicted_H": 0.7252,
"predicted_HBP": 0.039,
"predicted_HR": 0.0892,
"predicted_OBP": 0.2568,
"predicted_R": 0.4131,
"predicted_RBI": 0.3403,
"predicted_SLG": 0.3277,
"predicted_SO": 0.8993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1141,
"delta": -0.0189,
"percent_delta": -0.1421,
"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.333,
"after": 3.3402,
"delta": 0.0072,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2229,
"delta": -0.0121,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.1898,
"delta": -0.0232,
"percent_delta": -0.1089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7252,
"delta": -0.0248,
"percent_delta": -0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0892,
"delta": -0.0008,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2568,
"delta": -0.0072,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.4131,
"delta": -0.0269,
"percent_delta": -0.0611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3403,
"delta": -0.0097,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3277,
"delta": -0.0113,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.813,
"after": 0.8993,
"delta": 0.0863,
"percent_delta": 0.1062,
"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.813,
"after": 0.8993,
"delta": 0.0863,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2229,
"delta": -0.0121,
"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": 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.1141,
"predicted_3B": 0.0004,
"predicted_AB": 3.3402,
"predicted_AVG": 0.2091,
"predicted_BB": 0.1887,
"predicted_H": 0.6984,
"predicted_HBP": 0.039,
"predicted_HR": 0.0874,
"predicted_OBP": 0.2514,
"predicted_R": 0.3871,
"predicted_RBI": 0.3189,
"predicted_SLG": 0.322,
"predicted_SO": 0.9046
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1141,
"after": 0.1141,
"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.3402,
"after": 3.3402,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2229,
"after": 0.2091,
"delta": -0.0138,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1898,
"after": 0.1887,
"delta": -0.0011,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7252,
"after": 0.6984,
"delta": -0.0268,
"percent_delta": -0.037,
"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.0892,
"after": 0.0874,
"delta": -0.0018,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2568,
"after": 0.2514,
"delta": -0.0054,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4131,
"after": 0.3871,
"delta": -0.026,
"percent_delta": -0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3403,
"after": 0.3189,
"delta": -0.0214,
"percent_delta": -0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3277,
"after": 0.322,
"delta": -0.0057,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8993,
"after": 0.9046,
"delta": 0.0053,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2229,
"after": 0.2091,
"delta": -0.0138,
"percent_delta": -0.0619,
"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.209 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.1141,
"after": 0.0,
"delta": -0.1141,
"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.3402,
"after": 3.0,
"delta": -0.3402,
"percent_delta": -0.1019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1887,
"after": 0.0,
"delta": -0.1887,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6984,
"after": 1.0,
"delta": 0.3016,
"percent_delta": 0.4318,
"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.0874,
"after": 0.0,
"delta": -0.0874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3189,
"after": 0.0,
"delta": -0.3189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9046,
"after": 1.0,
"delta": 0.0954,
"percent_delta": 0.1055,
"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.6984,
"after": 1.0,
"delta": 0.3016,
"percent_delta": 0.4318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3402,
"after": 3.0,
"delta": -0.3402,
"percent_delta": -0.1019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3871,
"after": 0.0,
"delta": -0.3871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3871,
"after": 0.0,
"delta": -0.3871,
"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.2091,
"after": 0.333,
"delta": 0.1239,
"percent_delta": 0.5925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2514,
"after": 0.333,
"delta": 0.0816,
"percent_delta": 0.3246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.333,
"delta": 0.011,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2091,
"after": 0.333,
"delta": 0.1239,
"percent_delta": 0.5925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2091,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2514,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.322,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2091,
"delta": -0.1239,
"percent_delta": -0.3721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2514,
"delta": -0.0816,
"percent_delta": -0.2451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.322,
"delta": -0.011,
"percent_delta": -0.033,
"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.2091,
"delta": -0.1239,
"percent_delta": -0.3721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 1.0,
"delta": 0.867,
"percent_delta": 6.5188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2091,
"delta": -0.0259,
"percent_delta": -0.1102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"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.264,
"after": 0.2514,
"delta": -0.0126,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.322,
"delta": -0.017,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.813,
"after": 0.0,
"delta": -0.813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.133,
"after": 1.0,
"delta": 0.867,
"percent_delta": 6.5188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.813,
"after": 0.0,
"delta": -0.813,
"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.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.213 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.264 | - |
| predicted_R | 0.440 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.339 | - |
| predicted_SO | 0.813 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | -0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.340 | 0.007 |
| predicted_AVG | 0.223 | -0.012 |
| predicted_BB | 0.190 | -0.023 |
| predicted_H | 0.725 | -0.025 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.257 | -0.007 |
| predicted_R | 0.413 | -0.027 |
| predicted_RBI | 0.340 | -0.010 |
| predicted_SLG | 0.328 | -0.011 |
| predicted_SO | 0.899 | 0.086 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.340 | 0.000 |
| predicted_AVG | 0.209 | -0.014 |
| predicted_BB | 0.189 | -0.001 |
| predicted_H | 0.698 | -0.027 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.087 | -0.002 |
| predicted_OBP | 0.251 | -0.005 |
| predicted_R | 0.387 | -0.026 |
| predicted_RBI | 0.319 | -0.021 |
| predicted_SLG | 0.322 | -0.006 |
| predicted_SO | 0.905 | 0.005 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.209 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 | - |
Enforced H<=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.114 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.340 |
| predicted_AVG | 0.333 | 0.124 |
| predicted_BB | 0.000 | -0.189 |
| predicted_H | 1.000 | 0.302 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.333 | 0.082 |
| predicted_R | 0.000 | -0.387 |
| predicted_RBI | 0.000 | -0.319 |
| predicted_SLG | 0.333 | 0.011 |
| predicted_SO | 1.000 | 0.095 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 7.000 | 0.1250 | 0.1250 | 0.1250 | 0.1250 | 0.0000 | 0.0625 | 0.0000 | 0.4375 |
| last_10 | 0.20 | 10 | - | 33.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 13.000 | 0.1515 | 0.1765 | 0.2424 | 0.1515 | 0.0303 | 0.0606 | 0.0303 | 0.3939 |
| season | 0.60 | 75 | - | 250.000 | 61.000 | 10.000 | 0.000 | 8.000 | 29.000 | 33.000 | 16.000 | 61.000 | 0.2440 | 0.3004 | 0.3800 | 0.2440 | 0.0320 | 0.1160 | 0.0640 | 0.2440 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3500 |
| predicted_AVG | 0.2063 |
| predicted_BB | 0.1580 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.2470 |
| predicted_R | 0.3760 |
| predicted_RBI | 0.3270 |
| predicted_SLG | 0.3122 |
| predicted_SO | 1.0180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.0880 | 0.1141 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3330 | 3.3500 | 3.3402 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2063 | 0.2229 | model_form_blend |
| predicted_BB | 0.2130 | 0.1580 | 0.1898 | model_form_blend |
| predicted_H | 0.7500 | 0.6910 | 0.7252 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.0900 | 0.0880 | 0.0892 | model_form_blend |
| predicted_OBP | 0.2640 | 0.2470 | 0.2568 | model_form_blend |
| predicted_R | 0.4400 | 0.3760 | 0.4131 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3270 | 0.3403 | model_form_blend |
| predicted_SLG | 0.3390 | 0.3122 | 0.3277 | model_form_blend |
| predicted_SO | 0.8130 | 1.0180 | 0.8993 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 195 |
| Season rows before report date | 195 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B-2B |
| gameID | 20260705_MIN@NYY |
| game_type | full |
| mlbID | 676609 |
| playerID | 676609 |
| playerName | José Caballero |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.301 |
| sl_xwoba | 0.273 |
| sl_xba | 0.227 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 25.1 |
| sl_exit_velocity_avg | 83.9 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 27.2 |
| 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.033 | 0.000 | 0.000 | Hitting_2B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.933 | 3.000 | 3.000 | Hitting_AB | 3.194 | 3.000 | -0.194 | 0.000 |
| predicted_AVG | 0.218 | 0.333 | 0.333 | Hitting_AVG | 0.184 | 0.333 | 0.149 | 0.000 |
| predicted_BB | 0.383 | 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.570 | 1.000 | 1.000 | Hitting_H | 0.588 | 1.000 | 0.412 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.235 | 0.500 | 0.333 | Hitting_OBP | 0.296 | 0.333 | 0.204 | 0.167 |
| predicted_R | 0.267 | 1.000 | 0.000 | Hitting_R | 0.347 | 0.000 | 0.653 | 1.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_SLG | 0.271 | 0.333 | 0.333 | Hitting_SLG | 0.287 | 0.333 | 0.046 | 0.000 |
| predicted_SO | 0.933 | 0.000 | 1.000 | Hitting_SO | 0.982 | 1.000 | -0.982 | -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_R: 0.2670 -> 1.0000 (boost 0.7330, better) |
| Biggest Deboost | predicted_SO: 0.9330 -> 0.0000 (deboost -0.9330, 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 | 0 | 6 | 0 | 6 | - | predicted_BB: 0.3830 -> 0.3142 (deboost -0.0688, worse) | Final model input calibrated with local 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.2215 -> 0.2495 (boost 0.0280, better) | predicted_AVG: 0.1876 -> 0.1679 (deboost -0.0197, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_AB: 2.8745 -> 3.0000 (boost 0.1255, better) | predicted_H: 0.4827 -> 0.0000 (deboost -0.4827, worse) | AB rounded to 3 (raw=2.93), rates preserved: AVG=0.165 HR/AB=0.020 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2170 -> 0.0000 (deboost -0.2170, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1679 -> 0.3330 (boost 0.1651, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1679 (deboost -0.1651, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669224",
"player_name": "Austin Wells",
"position": "C",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.033,
"predicted_3B": 0.0,
"predicted_AB": 2.933,
"predicted_AVG": 0.218,
"predicted_BB": 0.383,
"predicted_H": 0.57,
"predicted_HR": 0.07,
"predicted_OBP": 0.235,
"predicted_R": 0.267,
"predicted_RBI": 0.24,
"predicted_SLG": 0.271,
"predicted_SO": 0.933
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0334,
"predicted_3B": 0.0004,
"predicted_AB": 2.8745,
"predicted_AVG": 0.1876,
"predicted_BB": 0.3142,
"predicted_H": 0.5012,
"predicted_HBP": 0.003,
"predicted_HR": 0.0601,
"predicted_OBP": 0.2215,
"predicted_R": 0.2316,
"predicted_RBI": 0.2112,
"predicted_SLG": 0.2446,
"predicted_SO": 0.968
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.033,
"after": 0.0334,
"delta": 0.0004,
"percent_delta": 0.0121,
"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.933,
"after": 2.8745,
"delta": -0.0585,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.1876,
"delta": -0.0304,
"percent_delta": -0.1394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.383,
"after": 0.3142,
"delta": -0.0688,
"percent_delta": -0.1796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.5012,
"delta": -0.0688,
"percent_delta": -0.1207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0601,
"delta": -0.0099,
"percent_delta": -0.1414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.235,
"after": 0.2215,
"delta": -0.0135,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.2316,
"delta": -0.0354,
"percent_delta": -0.1326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2112,
"delta": -0.0288,
"percent_delta": -0.12,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.271,
"after": 0.2446,
"delta": -0.0264,
"percent_delta": -0.0974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.933,
"after": 0.968,
"delta": 0.035,
"percent_delta": 0.0375,
"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_BB",
"before": 0.383,
"after": 0.3142,
"delta": -0.0688,
"percent_delta": -0.1796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0334,
"predicted_3B": 0.0004,
"predicted_AB": 2.8745,
"predicted_AVG": 0.1679,
"predicted_BB": 0.3123,
"predicted_H": 0.4827,
"predicted_HBP": 0.003,
"predicted_HR": 0.0589,
"predicted_OBP": 0.2495,
"predicted_R": 0.217,
"predicted_RBI": 0.1979,
"predicted_SLG": 0.2413,
"predicted_SO": 0.9737
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0334,
"after": 0.0334,
"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.8745,
"after": 2.8745,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1876,
"after": 0.1679,
"delta": -0.0197,
"percent_delta": -0.105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3142,
"after": 0.3123,
"delta": -0.0019,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5012,
"after": 0.4827,
"delta": -0.0185,
"percent_delta": -0.0369,
"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.0601,
"after": 0.0589,
"delta": -0.0012,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2215,
"after": 0.2495,
"delta": 0.028,
"percent_delta": 0.1264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2316,
"after": 0.217,
"delta": -0.0146,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2112,
"after": 0.1979,
"delta": -0.0133,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2446,
"after": 0.2413,
"delta": -0.0033,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.968,
"after": 0.9737,
"delta": 0.0057,
"percent_delta": 0.0059,
"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.2215,
"after": 0.2495,
"delta": 0.028,
"percent_delta": 0.1264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1876,
"after": 0.1679,
"delta": -0.0197,
"percent_delta": -0.105,
"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.165 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0334,
"after": 0.0,
"delta": -0.0334,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.8745,
"after": 3.0,
"delta": 0.1255,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3123,
"after": 0.0,
"delta": -0.3123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4827,
"after": 0.0,
"delta": -0.4827,
"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.0589,
"after": 0.0,
"delta": -0.0589,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1979,
"after": 0.0,
"delta": -0.1979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9737,
"after": 1.0,
"delta": 0.0263,
"percent_delta": 0.027,
"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_AB",
"before": 2.8745,
"after": 3.0,
"delta": 0.1255,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4827,
"after": 0.0,
"delta": -0.4827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.217,
"after": 0.0,
"delta": -0.217,
"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.1679,
"after": 0.333,
"delta": 0.1651,
"percent_delta": 0.9833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2495,
"after": 0.333,
"delta": 0.0835,
"percent_delta": 0.3347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2413,
"after": 0.333,
"delta": 0.0917,
"percent_delta": 0.38,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1679,
"after": 0.333,
"delta": 0.1651,
"percent_delta": 0.9833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1679,
"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.2495,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2413,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1679,
"delta": -0.1651,
"percent_delta": -0.4957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2495,
"delta": -0.0835,
"percent_delta": -0.2508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.2413,
"delta": -0.0917,
"percent_delta": -0.2754,
"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.1679,
"delta": -0.1651,
"percent_delta": -0.4957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.933,
"after": 3.0,
"delta": 0.067,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.1679,
"delta": -0.0501,
"percent_delta": -0.2298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.383,
"after": 1.0,
"delta": 0.617,
"percent_delta": 1.611,
"direction": "boost",
"projection_effect": "better",
"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.235,
"after": 0.2495,
"delta": 0.0145,
"percent_delta": 0.0617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 1.0,
"delta": 0.733,
"percent_delta": 2.7453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.271,
"after": 0.2413,
"delta": -0.0297,
"percent_delta": -0.1096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.933,
"after": 0.0,
"delta": -0.933,
"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_R",
"before": 0.267,
"after": 1.0,
"delta": 0.733,
"percent_delta": 2.7453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.933,
"after": 0.0,
"delta": -0.933,
"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.033 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.933 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.383 | - |
| predicted_H | 0.570 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.235 | - |
| predicted_R | 0.267 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.271 | - |
| predicted_SO | 0.933 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.033 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.874 | -0.058 |
| predicted_AVG | 0.188 | -0.030 |
| predicted_BB | 0.314 | -0.069 |
| predicted_H | 0.501 | -0.069 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.060 | -0.010 |
| predicted_OBP | 0.222 | -0.013 |
| predicted_R | 0.232 | -0.035 |
| predicted_RBI | 0.211 | -0.029 |
| predicted_SLG | 0.245 | -0.026 |
| predicted_SO | 0.968 | 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.033 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.874 | 0.000 |
| predicted_AVG | 0.168 | -0.020 |
| predicted_BB | 0.312 | -0.002 |
| predicted_H | 0.483 | -0.018 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.249 | 0.028 |
| predicted_R | 0.217 | -0.015 |
| predicted_RBI | 0.198 | -0.013 |
| predicted_SLG | 0.241 | -0.003 |
| predicted_SO | 0.974 | 0.006 |
AB rounded to 3 (raw=2.93), rates preserved: AVG=0.165 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 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.033 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.126 |
| predicted_AVG | 0.333 | 0.165 |
| predicted_BB | 0.000 | -0.312 |
| predicted_H | 1.000 | 0.517 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.333 | 0.084 |
| predicted_R | 0.000 | -0.217 |
| predicted_RBI | 0.000 | -0.198 |
| predicted_SLG | 0.333 | 0.092 |
| 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 | 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.0000 | 0.6000 |
| last_10 | 0.20 | 10 | - | 24.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 9.000 | 0.0833 | 0.0833 | 0.0833 | 0.0833 | 0.0000 | 0.0833 | 0.0000 | 0.3750 |
| season | 0.60 | 60 | - | 176.000 | 27.000 | 2.000 | 0.000 | 4.000 | 10.000 | 16.000 | 23.000 | 56.000 | 0.1534 | 0.2500 | 0.2330 | 0.1534 | 0.0227 | 0.0568 | 0.1307 | 0.3182 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0340 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.7910 |
| predicted_AVG | 0.1443 |
| predicted_BB | 0.2160 |
| predicted_H | 0.4030 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0460 |
| predicted_OBP | 0.2022 |
| predicted_R | 0.1810 |
| predicted_RBI | 0.1700 |
| predicted_SLG | 0.2068 |
| predicted_SO | 1.0180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0330 | 0.0340 | 0.0334 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.9330 | 2.7910 | 2.8745 | model_form_blend |
| predicted_AVG | 0.2180 | 0.1443 | 0.1876 | model_form_blend |
| predicted_BB | 0.3830 | 0.2160 | 0.3142 | model_form_blend |
| predicted_H | 0.5700 | 0.4030 | 0.5012 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0700 | 0.0460 | 0.0601 | model_form_blend |
| predicted_OBP | 0.2350 | 0.2022 | 0.2215 | model_form_blend |
| predicted_R | 0.2670 | 0.1810 | 0.2316 | model_form_blend |
| predicted_RBI | 0.2400 | 0.1700 | 0.2112 | model_form_blend |
| predicted_SLG | 0.2710 | 0.2068 | 0.2446 | model_form_blend |
| predicted_SO | 0.9330 | 1.0180 | 0.9680 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.153 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260705_MIN@NYY |
| game_type | full |
| mlbID | 669224 |
| playerID | 669224 |
| playerName | Austin Wells |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-05 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.223 |
| sl_xwoba | 0.279 |
| sl_xba | 0.204 |
| sl_xslg | 0.335 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 43.4 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 18.4 |
| sl_whiff_percent | 30.3 |
| 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.077 | 0.000 | 0.000 | Hitting_2B | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.938 | 3.000 | 3.000 | Hitting_AB | 3.176 | 3.000 | -0.176 | 0.000 |
| predicted_AVG | 0.250 | 0.000 | 0.333 | Hitting_AVG | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_BB | 0.246 | 1.000 | 0.000 | Hitting_BB | 0.278 | 1.000 | 0.722 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 0.610 | 0.000 | 1.000 | Hitting_H | 0.642 | 0.000 | -0.642 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.286 | 0.250 | 0.333 | Hitting_OBP | 0.266 | 0.250 | -0.016 | 0.000 |
| predicted_R | 0.292 | 0.000 | 0.000 | Hitting_R | 0.335 | 1.000 | -0.335 | -1.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.398 | 0.000 | -0.398 | 0.000 |
| predicted_SLG | 0.383 | 0.000 | 0.333 | Hitting_SLG | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_SO | 0.985 | 0.000 | 1.000 | Hitting_SO | 1.057 | 2.000 | -1.057 | -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.2460 -> 1.0000 (boost 0.7540, better) |
| Biggest Deboost | predicted_SO: 0.9850 -> 0.0000 (deboost -0.9850, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2500 -> 0.2312 (deboost -0.0188, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2312 -> 0.1987 (deboost -0.0325, 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_H: 0.5875 -> 1.0000 (boost 0.4125, better) | predicted_RBI: 0.2912 -> 0.0000 (deboost -0.2912, worse) | AB rounded to 3 (raw=2.96), rates preserved: AVG=0.199 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3057 -> 0.0000 (deboost -0.3057, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1987 -> 0.3330 (boost 0.1343, better) | predicted_SLG: 0.3503 -> 0.3330 (deboost -0.0173, 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.3503 (boost 0.0173, better) | predicted_AVG: 0.3330 -> 0.1987 (deboost -0.1343, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641857",
"player_name": "Ryan McMahon",
"position": "3B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.077,
"predicted_3B": 0.0,
"predicted_AB": 2.938,
"predicted_AVG": 0.25,
"predicted_BB": 0.246,
"predicted_H": 0.61,
"predicted_HR": 0.11,
"predicted_OBP": 0.286,
"predicted_R": 0.292,
"predicted_RBI": 0.31,
"predicted_SLG": 0.383,
"predicted_SO": 0.985
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0927,
"predicted_3B": 0.0008,
"predicted_AB": 2.9562,
"predicted_AVG": 0.2312,
"predicted_BB": 0.272,
"predicted_H": 0.61,
"predicted_HBP": 0.003,
"predicted_HR": 0.1203,
"predicted_OBP": 0.2836,
"predicted_R": 0.3263,
"predicted_RBI": 0.3108,
"predicted_SLG": 0.3819,
"predicted_SO": 0.978
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0927,
"delta": 0.0157,
"percent_delta": 0.2039,
"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.938,
"after": 2.9562,
"delta": 0.0182,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2312,
"delta": -0.0188,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.246,
"after": 0.272,
"delta": 0.026,
"percent_delta": 0.1057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.61,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1203,
"delta": 0.0103,
"percent_delta": 0.0936,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2836,
"delta": -0.0024,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.3263,
"delta": 0.0343,
"percent_delta": 0.1175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3108,
"delta": 0.0008,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3819,
"delta": -0.0011,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.985,
"after": 0.978,
"delta": -0.007,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2312,
"delta": -0.0188,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.0927,
"predicted_3B": 0.0008,
"predicted_AB": 2.9562,
"predicted_AVG": 0.1987,
"predicted_BB": 0.2704,
"predicted_H": 0.5875,
"predicted_HBP": 0.003,
"predicted_HR": 0.1179,
"predicted_OBP": 0.2659,
"predicted_R": 0.3057,
"predicted_RBI": 0.2912,
"predicted_SLG": 0.3503,
"predicted_SO": 0.9838
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0927,
"after": 0.0927,
"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.9562,
"after": 2.9562,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2312,
"after": 0.1987,
"delta": -0.0325,
"percent_delta": -0.1406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.272,
"after": 0.2704,
"delta": -0.0016,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.5875,
"delta": -0.0225,
"percent_delta": -0.0369,
"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.1203,
"after": 0.1179,
"delta": -0.0024,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2836,
"after": 0.2659,
"delta": -0.0177,
"percent_delta": -0.0624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3263,
"after": 0.3057,
"delta": -0.0206,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3108,
"after": 0.2912,
"delta": -0.0196,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3819,
"after": 0.3503,
"delta": -0.0316,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.978,
"after": 0.9838,
"delta": 0.0058,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2312,
"after": 0.1987,
"delta": -0.0325,
"percent_delta": -0.1406,
"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.199 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.0927,
"after": 0.0,
"delta": -0.0927,
"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.9562,
"after": 3.0,
"delta": 0.0438,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2704,
"after": 0.0,
"delta": -0.2704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5875,
"after": 1.0,
"delta": 0.4125,
"percent_delta": 0.7021,
"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.1179,
"after": 0.0,
"delta": -0.1179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2912,
"after": 0.0,
"delta": -0.2912,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9838,
"after": 1.0,
"delta": 0.0162,
"percent_delta": 0.0165,
"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_H",
"before": 0.5875,
"after": 1.0,
"delta": 0.4125,
"percent_delta": 0.7021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2912,
"after": 0.0,
"delta": -0.2912,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3057,
"after": 0.0,
"delta": -0.3057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3057,
"after": 0.0,
"delta": -0.3057,
"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.1987,
"after": 0.333,
"delta": 0.1343,
"percent_delta": 0.6759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2659,
"after": 0.333,
"delta": 0.0671,
"percent_delta": 0.2524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3503,
"after": 0.333,
"delta": -0.0173,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1987,
"after": 0.333,
"delta": 0.1343,
"percent_delta": 0.6759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3503,
"after": 0.333,
"delta": -0.0173,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.1987,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2659,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3503,
"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.1987,
"delta": -0.1343,
"percent_delta": -0.4032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2659,
"delta": -0.0671,
"percent_delta": -0.2016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3503,
"delta": 0.0173,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3503,
"delta": 0.0173,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1987,
"delta": -0.1343,
"percent_delta": -0.4032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.938,
"after": 3.0,
"delta": 0.062,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1987,
"delta": -0.0513,
"percent_delta": -0.2052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.246,
"after": 1.0,
"delta": 0.754,
"percent_delta": 3.065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2659,
"delta": -0.0201,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3503,
"delta": -0.0327,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.985,
"after": 0.0,
"delta": -0.985,
"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.246,
"after": 1.0,
"delta": 0.754,
"percent_delta": 3.065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.985,
"after": 0.0,
"delta": -0.985,
"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.077 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.938 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.246 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.292 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.383 | - |
| predicted_SO | 0.985 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | 0.016 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.956 | 0.018 |
| predicted_AVG | 0.231 | -0.019 |
| predicted_BB | 0.272 | 0.026 |
| predicted_H | 0.610 | 0.000 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.120 | 0.010 |
| predicted_OBP | 0.284 | -0.002 |
| predicted_R | 0.326 | 0.034 |
| predicted_RBI | 0.311 | 0.001 |
| predicted_SLG | 0.382 | -0.001 |
| predicted_SO | 0.978 | -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.093 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.956 | 0.000 |
| predicted_AVG | 0.199 | -0.033 |
| predicted_BB | 0.270 | -0.002 |
| predicted_H | 0.588 | -0.022 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.118 | -0.002 |
| predicted_OBP | 0.266 | -0.018 |
| predicted_R | 0.306 | -0.021 |
| predicted_RBI | 0.291 | -0.020 |
| predicted_SLG | 0.350 | -0.032 |
| predicted_SO | 0.984 | 0.006 |
AB rounded to 3 (raw=2.96), rates preserved: AVG=0.199 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.093 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.044 |
| predicted_AVG | 0.333 | 0.134 |
| predicted_BB | 0.000 | -0.270 |
| predicted_H | 1.000 | 0.412 |
| predicted_HR | 0.000 | -0.118 |
| predicted_OBP | 0.333 | 0.067 |
| predicted_R | 0.000 | -0.306 |
| predicted_RBI | 0.000 | -0.291 |
| predicted_SLG | 0.333 | -0.017 |
| predicted_SO | 1.000 | 0.016 |
Attached 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 | 1.000 | 1.000 | 3.000 | 2.000 | 5.000 | 0.2143 | 0.3125 | 0.5000 | 0.2143 | 0.0714 | 0.0714 | 0.1429 | 0.3571 |
| last_10 | 0.20 | 10 | - | 27.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 4.000 | 9.000 | 0.1481 | 0.2581 | 0.2963 | 0.1482 | 0.0370 | 0.0741 | 0.1482 | 0.3333 |
| season | 0.60 | 65 | - | 191.000 | 40.000 | 5.000 | 0.000 | 8.000 | 23.000 | 19.000 | 16.000 | 64.000 | 0.2094 | 0.2705 | 0.3613 | 0.2094 | 0.0419 | 0.1204 | 0.0838 | 0.3351 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9820 |
| predicted_AVG | 0.2044 |
| predicted_BB | 0.3090 |
| predicted_H | 0.6100 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1350 |
| predicted_OBP | 0.2802 |
| predicted_R | 0.3750 |
| predicted_RBI | 0.3120 |
| predicted_SLG | 0.3803 |
| predicted_SO | 0.9680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0770 | 0.1150 | 0.0927 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9380 | 2.9820 | 2.9562 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2044 | 0.2312 | model_form_blend |
| predicted_BB | 0.2460 | 0.3090 | 0.2720 | model_form_blend |
| predicted_H | 0.6100 | 0.6100 | 0.6100 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1100 | 0.1350 | 0.1203 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2802 | 0.2836 | model_form_blend |
| predicted_R | 0.2920 | 0.3750 | 0.3263 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3120 | 0.3108 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3803 | 0.3819 | model_form_blend |
| predicted_SO | 0.9850 | 0.9680 | 0.9780 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.209 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260704_MIN@NYY |
| game_type | full |
| mlbID | 641857 |
| playerID | 641857 |
| playerName | Ryan McMahon |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-04 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.282 |
| sl_xwoba | 0.309 |
| sl_xba | 0.236 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 48.8 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 31.7 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.167 | 1.000 | 1.833 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.333 | 6.000 | 0.667 | -4.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 4.389 | 7.000 | 2.611 | 0.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.661 | 4.000 | 0.339 | 2.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 6.833 | 5.000 | 0.167 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "693645",
"player_name": "Cam Schlittler",
"position": "Starter",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.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": 3.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 2.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 0.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 | 3.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 0.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 | 27.200 | 8.000 | 26.000 | 8.000 | 39.000 | 6.000 | 2.6024 | 1.2289 | 0.2892 | 0.9398 | 0.2892 | 1.4096 | 0.2169 |
| last_10 | 0.35 | 10 | 56.200 | 16.000 | 47.000 | 12.000 | 70.000 | 9.000 | 2.5412 | 1.0412 | 0.2823 | 0.8294 | 0.2118 | 1.2353 | 0.1588 |
| season | 0.20 | 18 | 104.000 | 24.000 | 79.000 | 21.000 | 123.000 | 10.000 | 2.0769 | 0.9615 | 0.2308 | 0.7596 | 0.2019 | 1.1827 | 0.0961 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5440 |
| predicted_ER | 1.8650 |
| predicted_ERA | 2.9239 |
| predicted_H | 5.0960 |
| predicted_HR | 0.9600 |
| predicted_IP | 5.2000 |
| predicted_SO | 7.0440 |
| predicted_WHIP | 1.1569 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.5440 | 2.1873 | model_form_blend |
| predicted_ER | 2.0000 | 1.8650 | 1.9246 | model_form_blend |
| predicted_ERA | - | 2.9239 | 2.9239 | form_only |
| predicted_H | 7.0000 | 5.0960 | 5.9373 | model_form_blend |
| predicted_HR | 0.0000 | 0.9600 | 0.5358 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 7.0000 | 7.0440 | 7.0246 | model_form_blend |
| predicted_WHIP | - | 1.1569 | 1.1569 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 7 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 7 |
| HR | 0 |
| BF | 28 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 20 |
| Pitching_ER | 6 |
| Pitching_ERA | 2.08 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 0 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 4 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 85 |
| Pitching_R | 6 |
| Pitching_SO | 5 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260630_DET@NYY |
| game_type | full |
| mlbID | 693645 |
| playerID | 693645 |
| playerName | Cam Schlittler |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-30 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.258 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 40.6 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 53.6 |
| sl_avg_best_speed | 76.383064885 |
| sl_avg_hyper_speed | 94.077483103 |
| 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.364 | 0.000 | -0.364 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.750 | 0.000 | 0.250 | 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 | 1.068 | 2.000 | -0.068 | -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": "687396",
"player_name": "Brent Headrick",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 1.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.3750 | 0.0000 | 0.1875 | 0.1875 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 0.000 | 3.000 | 2.000 | 11.000 | 0.000 | 0.0000 | 0.4688 | 0.0000 | 0.2812 | 0.1875 | 1.0312 | 0.0000 |
| season | 0.20 | 44 | 43.100 | 7.000 | 33.000 | 16.000 | 47.000 | 2.000 | 1.4538 | 1.1308 | 0.1615 | 0.7615 | 0.3692 | 1.0846 | 0.0461 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2730 |
| predicted_ER | 0.2060 |
| predicted_ERA | 1.8524 |
| predicted_H | 0.5690 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1430 |
| predicted_WHIP | 0.8414 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2730 | 0.1350 | model_form_blend |
| predicted_ER | 0.0000 | 0.2060 | 0.1019 | model_form_blend |
| predicted_ERA | - | 1.8524 | 1.8524 | form_only |
| predicted_H | 1.0000 | 0.5690 | 0.7868 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0302 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1430 | 1.0707 | model_form_blend |
| predicted_WHIP | - | 0.8414 | 0.8414 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 44 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.45 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260704_MIN@NYY |
| game_type | full |
| mlbID | 687396 |
| playerID | 687396 |
| playerName | Brent Headrick |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-04 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.261 |
| sl_xwoba | 0.278 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 37.7 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 53.8 |
| sl_avg_best_speed | 76.842772182 |
| sl_avg_hyper_speed | 93.788466636 |
| 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.537 | 2.000 | -0.537 | -2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.244 | 0.000 | 1.756 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.634 | 1.000 | 1.366 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.668 | 1.000 | 0.332 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.146 | 0.000 | -0.146 | 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": "518585",
"player_name": "Fernando Cruz",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 2.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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 2.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.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": 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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 2.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 | 3.000 | 6.000 | 0.000 | 3.6000 | 1.6000 | 0.4000 | 1.0000 | 0.6000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 7.000 | 8.000 | 14.000 | 0.000 | 3.6000 | 1.5000 | 0.4000 | 0.7000 | 0.8000 | 1.4000 | 0.0000 |
| season | 0.20 | 41 | 37.200 | 10.000 | 26.000 | 22.000 | 47.000 | 2.000 | 2.3894 | 1.2743 | 0.2655 | 0.6903 | 0.5841 | 1.2478 | 0.0531 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5430 |
| predicted_ER | 0.4260 |
| predicted_ERA | 3.8305 |
| predicted_H | 0.8880 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1490 |
| predicted_WHIP | 1.4305 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5430 | 0.2610 | model_form_blend |
| predicted_ER | 2.0000 | 0.4260 | 1.2436 | model_form_blend |
| predicted_ERA | - | 3.8305 | 3.8305 | form_only |
| predicted_H | 2.0000 | 0.8880 | 1.4656 | model_form_blend |
| predicted_HR | 2.0000 | 0.0660 | 1.0706 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1490 | 1.0716 | model_form_blend |
| predicted_WHIP | - | 1.4305 | 1.4305 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| 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 | 1 |
| HR | 2 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.39 |
| 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 | 31 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260703_MIN@NYY |
| game_type | full |
| mlbID | 518585 |
| playerID | 518585 |
| playerName | Fernando Cruz |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-07-03 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.277 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 21.6 |
| sl_whiff_percent | 40.9 |
| sl_swing_percent | 43.8 |
| sl_avg_best_speed | 73.64914186 |
| sl_avg_hyper_speed | 92.14773314 |
| Field | Value |
|---|---|
| Pitcher | Griffin Jax |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1943 |
| ESPN Rank | 272 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5.2000 |
| Pre ER | 0 |
| Pre H | 3 |
| Pre BB | 4 |
| Pre SO | 4 |
| Season ERA | 3 |
| Season WHIP | 1.2000 |
| Role Avg IP | 4.2500 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 95,
"wins": 55,
"losses": 40,
"win_pct": 0.5789,
"runs_scored": 413.0,
"runs_allowed": 388.0,
"run_differential": 25.0,
"run_differential_per_game": 0.2632,
"avg_runs_scored": 4.3474,
"avg_runs_allowed": 4.0842,
"offense_index": 0.9587,
"defense_index": 1.1103,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 2.5,
"run_differential": 33.0
},
"available": true,
"quality_score": 0.204
},
"opponent": {
"team": "NYY",
"games": 99,
"wins": 54,
"losses": 45,
"win_pct": 0.5455,
"runs_scored": 457.0,
"runs_allowed": 388.0,
"run_differential": 69.0,
"run_differential_per_game": 0.697,
"avg_runs_scored": 4.6162,
"avg_runs_allowed": 3.9192,
"offense_index": 1.0179,
"defense_index": 1.1571,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 6.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.0168
},
"edges": {
"quality_edge": 0.2208,
"offense_edge": -0.0413,
"opponent_offense_edge": 0.0179,
"defense_strength": 0.1103,
"opponent_defense_weakness": -0.1571,
"recent_win_pct_edge": 0.7
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9808,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643377",
"profile": {
"available": true,
"pitcher_id": "643377",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 124.0,
"k_percent": 23.4,
"bb_percent": 8.1,
"woba": 0.324,
"xwoba": 0.354,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 41.4,
"avg_best_speed": 77.4033,
"avg_hyper_speed": 94.4268,
"whiff_percent": 30.4,
"swing_percent": 48.0
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.7025,
"command_and_miss": 0.3364,
"regression_edge": -0.8571,
"xwoba_edge": -1.1714,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.4286,
"whiff_edge": 0.7,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "643377",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1943,
"sample_weight": 0.496,
"run_prevention_factor": 1.0165,
"strikeout_factor": 1.0162,
"walk_factor": 0.9921,
"homer_factor": 1.0559,
"woba_minus_xwoba": -0.03,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643377",
"espn_id": 42604,
"player_name": "Griffin Jax",
"team": "TB",
"role": "pitcher",
"espn_rank": 272,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 272,
"gp_value": 23.0,
"gp_rank": 192,
"gs_value": 12.0,
"gs_rank": 112,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 3.45,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 5.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 2.0,
"hld_rank": 178,
"ip_value": 60.0,
"ip_rank": 131,
"h_value": 56.0,
"h_rank": 130,
"er_value": 23.0,
"er_rank": 164,
"hr_value": 11.0,
"hr_rank": 60,
"bb_value": 20.0,
"bb_rank": 157,
"k_value": 58.0,
"k_rank": 125,
"k_per_9_value": 8.7,
"k_per_9_rank": 25.0,
"whip_value": 1.2666,
"whip_rank": null,
"war_value": 0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0082,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 1.0082,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9961,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0277,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.008,
"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": 46.0,
"ER": 15,
"H": 44,
"BB": 11,
"SO": 44,
"HR": 8,
"ERA": 2.9347826086956523,
"WHIP": 1.1956521739130435,
"K9": 8.608695652173912,
"HR9": 1.565217391304348,
"games_pitched": 10,
"quality_starts": 1,
"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": "643377",
"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": 11.899,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7041,
"prior_weight": 0.2959
},
"role": "pitcher",
"player_id": "643377",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 5.0,
"R": 8.0,
"H": 22.0,
"BB": 4.0,
"SO": 26.0,
"HR": 4.0,
"BF": 101.0,
"Pitches": 353.0
},
"per_game": {
"IP": 5.1,
"ER": 1.0,
"R": 1.6,
"H": 4.4,
"BB": 0.8,
"SO": 5.2,
"HR": 0.8,
"BF": 20.2,
"Pitches": 70.6
},
"rates": {
"ERA": 1.7308,
"WHIP": 1.0,
"ER_per_IP": 0.19231,
"H_per_IP": 0.84615,
"BB_per_IP": 0.15385,
"SO_per_IP": 1.0,
"HR_per_IP": 0.15385
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 46.0,
"ER": 15.0,
"R": 21.0,
"H": 44.0,
"BB": 11.0,
"SO": 44.0,
"HR": 8.0,
"BF": 186.0,
"Pitches": 650.0
},
"per_game": {
"IP": 4.2,
"ER": 1.5,
"R": 2.1,
"H": 4.4,
"BB": 1.1,
"SO": 4.4,
"HR": 0.8,
"BF": 18.6,
"Pitches": 65.0
},
"rates": {
"ERA": 2.9348,
"WHIP": 1.1957,
"ER_per_IP": 0.32609,
"H_per_IP": 0.95652,
"BB_per_IP": 0.23913,
"SO_per_IP": 0.95652,
"HR_per_IP": 0.17391
}
},
"season": {
"games": 22,
"totals": {
"IP": 60.0,
"ER": 20.0,
"R": 27.0,
"H": 53.0,
"BB": 19.0,
"SO": 58.0,
"HR": 11.0,
"BF": 243.0,
"Pitches": 893.0
},
"per_game": {
"IP": 2.2,
"ER": 0.9091,
"R": 1.2273,
"H": 2.4091,
"BB": 0.8636,
"SO": 2.6364,
"HR": 0.5,
"BF": 11.0455,
"Pitches": 40.5909
},
"rates": {
"ERA": 3.0,
"WHIP": 1.2,
"ER_per_IP": 0.33333,
"H_per_IP": 0.88333,
"BB_per_IP": 0.31667,
"SO_per_IP": 0.96667,
"HR_per_IP": 0.18333
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 1.651,
"predicted_H": 4.477,
"predicted_BB": 1.262,
"predicted_SO": 4.75,
"predicted_HR": 0.79,
"predicted_ERA": 3.0365,
"predicted_WHIP": 1.1731
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.475,
"form_weight": 0.525,
"form_reliability": 0.7041,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.899,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7041,
"prior_weight": 0.2959
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.651,
"final": 0.8667,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.477,
"final": 3.7754,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.262,
"final": 2.5626,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.75,
"final": 3.4437,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.79,
"final": 0.4147,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0365,
"final": 3.0365,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1731,
"final": 1.1731,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1058 |
| ESPN Rank | 87 |
| 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 | 3 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.4146 |
| Season WHIP | 0.8780 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 95,
"wins": 55,
"losses": 40,
"win_pct": 0.5789,
"runs_scored": 413.0,
"runs_allowed": 388.0,
"run_differential": 25.0,
"run_differential_per_game": 0.2632,
"avg_runs_scored": 4.3474,
"avg_runs_allowed": 4.0842,
"offense_index": 0.9587,
"defense_index": 1.1103,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 2.5,
"run_differential": 33.0
},
"available": true,
"quality_score": 0.204
},
"opponent": {
"team": "NYY",
"games": 99,
"wins": 54,
"losses": 45,
"win_pct": 0.5455,
"runs_scored": 457.0,
"runs_allowed": 388.0,
"run_differential": 69.0,
"run_differential_per_game": 0.697,
"avg_runs_scored": 4.6162,
"avg_runs_allowed": 3.9192,
"offense_index": 1.0179,
"defense_index": 1.1571,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 6.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.0168
},
"edges": {
"quality_edge": 0.2208,
"offense_edge": -0.0413,
"opponent_offense_edge": 0.0179,
"defense_strength": 0.1103,
"opponent_defense_weakness": -0.1571,
"recent_win_pct_edge": 0.7
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9808,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687330",
"profile": {
"available": true,
"pitcher_id": "687330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 86.0,
"k_percent": 19.5,
"bb_percent": 4.5,
"woba": 0.246,
"xwoba": 0.315,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 47.8,
"avg_best_speed": 78.6087,
"avg_hyper_speed": 95.2349,
"whiff_percent": 17.8,
"swing_percent": 46.9
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.1015,
"command_and_miss": -0.3643,
"regression_edge": -1.9714,
"xwoba_edge": -0.0571,
"barrel_edge": -0.1556,
"hard_hit_edge": -1.3429,
"whiff_edge": -1.1,
"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.1058,
"sample_weight": 0.45,
"run_prevention_factor": 1.009,
"strikeout_factor": 0.9722,
"walk_factor": 0.9604,
"homer_factor": 1.0305,
"woba_minus_xwoba": -0.069,
"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": 87,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 87,
"gp_value": 38.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.4146,
"era_rank": null,
"w_value": 5.0,
"w_rank": 63,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 4.0,
"sv_rank": 39,
"hld_value": 18.0,
"hld_rank": 3,
"ip_value": 41.0,
"ip_rank": 196,
"h_value": 29.0,
"h_rank": 284,
"er_value": 11.0,
"er_rank": 359,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 7.0,
"bb_rank": 442,
"k_value": 30.0,
"k_rank": 309,
"k_per_9_value": 6.5853662,
"k_per_9_rank": 42.0,
"whip_value": 0.878,
"whip_rank": null,
"war_value": 1.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.004,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.004,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9822,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0137,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9875,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.1,
"ER": 3,
"H": 10,
"BB": 1,
"SO": 8,
"HR": 2,
"ERA": 2.1891891891891895,
"WHIP": 0.891891891891892,
"K9": 5.837837837837839,
"HR9": 1.4594594594594597,
"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-03T00: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": 8.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6192,
"prior_weight": 0.3808
},
"role": "pitcher",
"player_id": "687330",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 0.0,
"SO": 2.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 62.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 0.4,
"HR": 0.2,
"BF": 4.4,
"Pitches": 12.4
},
"rates": {
"ERA": 1.4211,
"WHIP": 0.6316,
"ER_per_IP": 0.15789,
"H_per_IP": 0.63158,
"BB_per_IP": 0.0,
"SO_per_IP": 0.31579,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 1.0,
"SO": 8.0,
"HR": 2.0,
"BF": 47.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 1.0,
"BB": 0.1,
"SO": 0.8,
"HR": 0.2,
"BF": 4.7,
"Pitches": 14.7
},
"rates": {
"ERA": 2.1892,
"WHIP": 0.8919,
"ER_per_IP": 0.24324,
"H_per_IP": 0.81081,
"BB_per_IP": 0.08108,
"SO_per_IP": 0.64865,
"HR_per_IP": 0.16216
}
},
"season": {
"games": 38,
"totals": {
"IP": 41.0,
"ER": 11.0,
"R": 13.0,
"H": 29.0,
"BB": 7.0,
"SO": 30.0,
"HR": 4.0,
"BF": 154.0,
"Pitches": 563.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2895,
"R": 0.3421,
"H": 0.7632,
"BB": 0.1842,
"SO": 0.7895,
"HR": 0.1053,
"BF": 4.0526,
"Pitches": 14.8158
},
"rates": {
"ERA": 2.4146,
"WHIP": 0.878,
"ER_per_IP": 0.26829,
"H_per_IP": 0.70732,
"BB_per_IP": 0.17073,
"SO_per_IP": 0.73171,
"HR_per_IP": 0.09756
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.416,
"predicted_H": 1.045,
"predicted_BB": 0.226,
"predicted_SO": 0.882,
"predicted_HR": 0.191,
"predicted_ERA": 2.897,
"predicted_WHIP": 0.9833
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5109,
"form_weight": 0.4891,
"form_reliability": 0.6192,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6192,
"prior_weight": 0.3808
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.416,
"final": 1.2252,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 1.045,
"final": 2.0438,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.226,
"final": 0.1105,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.882,
"final": 0.4314,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.191,
"final": 0.6043,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.897,
"final": 2.897,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9833,
"final": 0.9833,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.4005 |
| ESPN Rank | 75 |
| 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.8350 |
| Season WHIP | 0.8155 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 95,
"wins": 55,
"losses": 40,
"win_pct": 0.5789,
"runs_scored": 413.0,
"runs_allowed": 388.0,
"run_differential": 25.0,
"run_differential_per_game": 0.2632,
"avg_runs_scored": 4.3474,
"avg_runs_allowed": 4.0842,
"offense_index": 0.9587,
"defense_index": 1.1103,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 2.5,
"run_differential": 33.0
},
"available": true,
"quality_score": 0.204
},
"opponent": {
"team": "NYY",
"games": 99,
"wins": 54,
"losses": 45,
"win_pct": 0.5455,
"runs_scored": 457.0,
"runs_allowed": 388.0,
"run_differential": 69.0,
"run_differential_per_game": 0.697,
"avg_runs_scored": 4.6162,
"avg_runs_allowed": 3.9192,
"offense_index": 1.0179,
"defense_index": 1.1571,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 6.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.0168
},
"edges": {
"quality_edge": 0.2208,
"offense_edge": -0.0413,
"opponent_offense_edge": 0.0179,
"defense_strength": 0.1103,
"opponent_defense_weakness": -0.1571,
"recent_win_pct_edge": 0.7
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9808,
"strikeout": 1.0052
},
"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": 28.0,
"bb_percent": 8.3,
"woba": 0.213,
"xwoba": 0.25,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 31.3,
"avg_best_speed": 74.6164,
"avg_hyper_speed": 92.8594,
"whiff_percent": 31.4,
"swing_percent": 51.9
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.466,
"command_and_miss": 0.6721,
"regression_edge": -1.0571,
"xwoba_edge": 1.8,
"barrel_edge": 0.2889,
"hard_hit_edge": 1.0143,
"whiff_edge": 0.8429,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4005,
"sample_weight": 0.45,
"run_prevention_factor": 0.966,
"strikeout_factor": 1.0291,
"walk_factor": 0.9946,
"homer_factor": 0.947,
"woba_minus_xwoba": -0.037,
"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": 75,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 75,
"gp_value": 36.0,
"gp_rank": 59,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 1.8349,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 23.0,
"sv_rank": 2,
"hld_value": 2.0,
"hld_rank": 178,
"ip_value": 34.1,
"ip_rank": 278,
"h_value": 17.0,
"h_rank": 430,
"er_value": 7.0,
"er_rank": 475,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 37.0,
"k_rank": 234,
"k_per_9_value": 9.699029,
"k_per_9_rank": 22.0,
"whip_value": 0.8155,
"whip_rank": null,
"war_value": 1.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9847,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9847,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9761,
"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": 2,
"BB": 0,
"SO": 8,
"HR": 1,
"ERA": 0.9,
"WHIP": 0.2,
"K9": 7.2,
"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-07-03T00: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.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5766,
"prior_weight": 0.4234
},
"role": "pitcher",
"player_id": "641329",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 36,
"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": 4.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 66.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.2,
"BF": 3.2,
"Pitches": 13.2
},
"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": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 8.0,
"HR": 1.0,
"BF": 33.0,
"Pitches": 131.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.1,
"BF": 3.3,
"Pitches": 13.1
},
"rates": {
"ERA": 0.9,
"WHIP": 0.2,
"ER_per_IP": 0.1,
"H_per_IP": 0.2,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.1
}
},
"season": {
"games": 36,
"totals": {
"IP": 34.1,
"ER": 7.0,
"R": 7.0,
"H": 17.0,
"BB": 11.0,
"SO": 37.0,
"HR": 2.0,
"BF": 132.0,
"Pitches": 539.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1944,
"R": 0.1944,
"H": 0.4722,
"BB": 0.3056,
"SO": 1.0278,
"HR": 0.0556,
"BF": 3.6667,
"Pitches": 14.9722
},
"rates": {
"ERA": 1.835,
"WHIP": 0.8155,
"ER_per_IP": 0.20388,
"H_per_IP": 0.49515,
"BB_per_IP": 0.32039,
"SO_per_IP": 1.07767,
"HR_per_IP": 0.05825
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.309,
"predicted_H": 0.56,
"predicted_BB": 0.188,
"predicted_SO": 0.897,
"predicted_HR": 0.142,
"predicted_ERA": 2.7811,
"predicted_WHIP": 0.7481
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5289,
"form_weight": 0.4711,
"form_reliability": 0.5766,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5766,
"prior_weight": 0.4234
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.309,
"final": 0.1456,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.56,
"final": 0.2638,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.188,
"final": 0.6175,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.897,
"final": 0.4226,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0669,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7811,
"final": 2.7811,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.7481,
"final": 0.7481,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1862 |
| ESPN Rank | 347 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.0135 |
| Season WHIP | 1.2973 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 95,
"wins": 55,
"losses": 40,
"win_pct": 0.5789,
"runs_scored": 413.0,
"runs_allowed": 388.0,
"run_differential": 25.0,
"run_differential_per_game": 0.2632,
"avg_runs_scored": 4.3474,
"avg_runs_allowed": 4.0842,
"offense_index": 0.9587,
"defense_index": 1.1103,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 2.5,
"run_differential": 33.0
},
"available": true,
"quality_score": 0.204
},
"opponent": {
"team": "NYY",
"games": 99,
"wins": 54,
"losses": 45,
"win_pct": 0.5455,
"runs_scored": 457.0,
"runs_allowed": 388.0,
"run_differential": 69.0,
"run_differential_per_game": 0.697,
"avg_runs_scored": 4.6162,
"avg_runs_allowed": 3.9192,
"offense_index": 1.0179,
"defense_index": 1.1571,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 6.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.0168
},
"edges": {
"quality_edge": 0.2208,
"offense_edge": -0.0413,
"opponent_offense_edge": 0.0179,
"defense_strength": 0.1103,
"opponent_defense_weakness": -0.1571,
"recent_win_pct_edge": 0.7
},
"player_factors": {
"ip": 1.0114,
"run_prevention": 0.9808,
"strikeout": 1.0052
},
"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": 30.8,
"bb_percent": 10.6,
"woba": 0.308,
"xwoba": 0.29,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 41.7,
"avg_best_speed": 72.5571,
"avg_hyper_speed": 93.8327,
"whiff_percent": 27.5,
"swing_percent": 46.2
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.3954,
"command_and_miss": 0.5421,
"regression_edge": 0.5143,
"xwoba_edge": 0.6571,
"barrel_edge": 0.1333,
"hard_hit_edge": -0.4714,
"whiff_edge": 0.2857,
"bb_edge": -0.425,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664076",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1862,
"sample_weight": 0.45,
"run_prevention_factor": 0.9842,
"strikeout_factor": 1.0262,
"walk_factor": 1.0153,
"homer_factor": 0.9948,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664076",
"espn_id": 36429,
"player_name": "Garrett Cleavinger",
"team": "TB",
"role": "pitcher",
"espn_rank": 347,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 347,
"gp_value": 28.0,
"gp_rank": 146,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 4.0135,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 2.0,
"sv_rank": 63,
"hld_value": 14.0,
"hld_rank": 10,
"ip_value": 24.2,
"ip_rank": 380,
"h_value": 21.0,
"h_rank": 377,
"er_value": 11.0,
"er_rank": 359,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 32.0,
"k_rank": 286,
"k_per_9_value": 11.675675,
"k_per_9_rank": 20.0,
"whip_value": 1.2972,
"whip_rank": null,
"war_value": 0.09,
"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.0069,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0118,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 1,
"H": 6,
"BB": 2,
"SO": 10,
"HR": 1,
"ERA": 1.0000000000000002,
"WHIP": 0.8888888888888891,
"K9": 10.000000000000002,
"HR9": 1.0000000000000002,
"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-04T00: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.892,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4945,
"prior_weight": 0.5055
},
"role": "pitcher",
"player_id": "664076",
"report_date": "20260706_N",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 70.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.6,
"Pitches": 14.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 1.15385,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 33.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.2,
"SO": 1.0,
"HR": 0.1,
"BF": 3.3,
"Pitches": 13.4
},
"rates": {
"ERA": 1.0,
"WHIP": 0.8889,
"ER_per_IP": 0.11111,
"H_per_IP": 0.66667,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.11111,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 28,
"totals": {
"IP": 24.2,
"ER": 11.0,
"R": 12.0,
"H": 21.0,
"BB": 11.0,
"SO": 32.0,
"HR": 3.0,
"BF": 104.0,
"Pitches": 409.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3929,
"R": 0.4286,
"H": 0.75,
"BB": 0.3929,
"SO": 1.1429,
"HR": 0.1071,
"BF": 3.7143,
"Pitches": 14.6071
},
"rates": {
"ERA": 4.0135,
"WHIP": 1.2973,
"ER_per_IP": 0.44595,
"H_per_IP": 0.85135,
"BB_per_IP": 0.44595,
"SO_per_IP": 1.2973,
"HR_per_IP": 0.12162
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.369,
"predicted_H": 0.947,
"predicted_BB": 0.314,
"predicted_SO": 1.008,
"predicted_HR": 0.158,
"predicted_ERA": 3.3254,
"predicted_WHIP": 1.261
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5636,
"form_weight": 0.4364,
"form_reliability": 0.4945,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.892,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4945,
"prior_weight": 0.5055
},
"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.161,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.947,
"final": 0.4133,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.314,
"final": 0.137,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.008,
"final": 1.5671,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.158,
"final": 0.069,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3254,
"final": 3.3254,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.261,
"final": 1.261,
"source": "form_only"
}
}
}{
"available": false,
"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.187 | 0.000 | -0.187 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.400 | 4.000 | 4.000 | Hitting_AB | 3.896 | 4.000 | 0.104 | 0.000 |
| predicted_AVG | 0.250 | 0.250 | 0.250 | Hitting_AVG | 0.319 | 0.000 | -0.069 | 0.250 |
| predicted_BB | 0.446 | 1.000 | 0.000 | Hitting_BB | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 1.100 | 1.000 | 1.000 | Hitting_H | 1.243 | 0.000 | -0.243 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.341 | 0.400 | 0.250 | Hitting_OBP | 0.400 | 0.000 | 0.000 | 0.400 |
| predicted_R | 0.554 | 1.000 | 1.000 | Hitting_R | 0.558 | 0.000 | 0.442 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 0.000 | Hitting_RBI | 0.681 | 0.000 | 0.319 | 1.000 |
| predicted_SLG | 0.399 | 0.250 | 0.250 | Hitting_SLG | 0.484 | 0.000 | -0.234 | 0.250 |
| predicted_SO | 0.614 | 1.000 | 1.000 | Hitting_SO | 0.578 | 3.000 | 0.422 | -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_BB: 0.4460 -> 1.0000 (boost 0.5540, better) |
| Biggest Deboost | predicted_AB: 4.4000 -> 4.0000 (deboost -0.4000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 2 | 3 | predicted_SO: 0.6140 -> 0.6812 (boost 0.0672, worse) | predicted_AB: 4.4000 -> 4.1502 (deboost -0.2498, worse) | Final model input calibrated with local 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.3933 -> 0.3799 (deboost -0.0134, 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.6778 -> 1.0000 (boost 0.3222, worse) | predicted_RBI: 0.4916 -> 0.0000 (deboost -0.4916, worse) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.246 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.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5523 -> 1.0000 (boost 0.4477, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3799 -> 0.2500 (deboost -0.1299, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 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.3799 (boost 0.1299, 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.181,
"predicted_3B": 0.012,
"predicted_AB": 4.4,
"predicted_AVG": 0.25,
"predicted_BB": 0.446,
"predicted_H": 1.1,
"predicted_HR": 0.11,
"predicted_OBP": 0.341,
"predicted_R": 0.554,
"predicted_RBI": 0.5,
"predicted_SLG": 0.399,
"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.169,
"predicted_3B": 0.0103,
"predicted_AB": 4.1502,
"predicted_AVG": 0.2586,
"predicted_BB": 0.4563,
"predicted_H": 1.0701,
"predicted_HBP": 0.063,
"predicted_HR": 0.1019,
"predicted_OBP": 0.3475,
"predicted_R": 0.5377,
"predicted_RBI": 0.4786,
"predicted_SLG": 0.3933,
"predicted_SO": 0.6812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.169,
"delta": -0.012,
"percent_delta": -0.0663,
"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.4,
"after": 4.1502,
"delta": -0.2498,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2586,
"delta": 0.0086,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.4563,
"delta": 0.0103,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0701,
"delta": -0.0299,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1019,
"delta": -0.0081,
"percent_delta": -0.0736,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3475,
"delta": 0.0065,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.5377,
"delta": -0.0163,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4786,
"delta": -0.0214,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.3933,
"delta": -0.0057,
"percent_delta": -0.0143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.614,
"after": 0.6812,
"delta": 0.0672,
"percent_delta": 0.1094,
"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.6812,
"delta": 0.0672,
"percent_delta": 0.1094,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.1502,
"delta": -0.2498,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.169,
"predicted_3B": 0.0103,
"predicted_AB": 4.1502,
"predicted_AVG": 0.2612,
"predicted_BB": 0.4586,
"predicted_H": 1.0841,
"predicted_HBP": 0.063,
"predicted_HR": 0.1009,
"predicted_OBP": 0.3347,
"predicted_R": 0.5523,
"predicted_RBI": 0.4916,
"predicted_SLG": 0.3799,
"predicted_SO": 0.6778
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.169,
"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.1502,
"after": 4.1502,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2586,
"after": 0.2612,
"delta": 0.0026,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4563,
"after": 0.4586,
"delta": 0.0023,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0701,
"after": 1.0841,
"delta": 0.014,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.063,
"after": 0.063,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1019,
"after": 0.1009,
"delta": -0.001,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3475,
"after": 0.3347,
"delta": -0.0128,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5377,
"after": 0.5523,
"delta": 0.0146,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4786,
"after": 0.4916,
"delta": 0.013,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3933,
"after": 0.3799,
"delta": -0.0134,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6812,
"after": 0.6778,
"delta": -0.0034,
"percent_delta": -0.005,
"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.3933,
"after": 0.3799,
"delta": -0.0134,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.246 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.169,
"after": 0.0,
"delta": -0.169,
"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.1502,
"after": 4.0,
"delta": -0.1502,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4586,
"after": 0.0,
"delta": -0.4586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0841,
"after": 1.0,
"delta": -0.0841,
"percent_delta": -0.0776,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1009,
"after": 0.0,
"delta": -0.1009,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4916,
"after": 0.0,
"delta": -0.4916,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6778,
"after": 1.0,
"delta": 0.3222,
"percent_delta": 0.4754,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6778,
"after": 1.0,
"delta": 0.3222,
"percent_delta": 0.4754,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4916,
"after": 0.0,
"delta": -0.4916,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.5523,
"after": 1.0,
"delta": 0.4477,
"percent_delta": 0.8106,
"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.5523,
"after": 1.0,
"delta": 0.4477,
"percent_delta": 0.8106,
"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.2612,
"after": 0.25,
"delta": -0.0112,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3347,
"after": 0.25,
"delta": -0.0847,
"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_SLG",
"before": 0.3799,
"after": 0.25,
"delta": -0.1299,
"percent_delta": -0.3419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3799,
"after": 0.25,
"delta": -0.1299,
"percent_delta": -0.3419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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": 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.2612,
"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.3347,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3799,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2612,
"delta": 0.0112,
"percent_delta": 0.0449,
"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.3347,
"delta": 0.0847,
"percent_delta": 0.3389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3799,
"delta": 0.1299,
"percent_delta": 0.5194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3799,
"delta": 0.1299,
"percent_delta": 0.5194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"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.4,
"after": 4.0,
"delta": -0.4,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2612,
"delta": 0.0112,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0,
"delta": -0.1,
"percent_delta": -0.0909,
"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.341,
"after": 0.3347,
"delta": -0.0063,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.3799,
"delta": -0.0191,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.614,
"after": 1.0,
"delta": 0.386,
"percent_delta": 0.6287,
"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.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0,
"delta": -0.4,
"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.181 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.554 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.399 | - |
| 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.169 | -0.012 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.150 | -0.250 |
| predicted_AVG | 0.259 | 0.009 |
| predicted_BB | 0.456 | 0.010 |
| predicted_H | 1.070 | -0.030 |
| predicted_HBP | 0.063 | - |
| predicted_HR | 0.102 | -0.008 |
| predicted_OBP | 0.347 | 0.006 |
| predicted_R | 0.538 | -0.016 |
| predicted_RBI | 0.479 | -0.021 |
| predicted_SLG | 0.393 | -0.006 |
| predicted_SO | 0.681 | 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.169 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.150 | 0.000 |
| predicted_AVG | 0.261 | 0.003 |
| predicted_BB | 0.459 | 0.002 |
| predicted_H | 1.084 | 0.014 |
| predicted_HBP | 0.063 | 0.000 |
| predicted_HR | 0.101 | -0.001 |
| predicted_OBP | 0.335 | -0.013 |
| predicted_R | 0.552 | 0.015 |
| predicted_RBI | 0.492 | 0.013 |
| predicted_SLG | 0.380 | -0.013 |
| predicted_SO | 0.678 | -0.003 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.246 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.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.169 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.150 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.459 |
| predicted_H | 1.000 | -0.084 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.250 | -0.085 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 0.000 | -0.492 |
| predicted_SLG | 0.250 | -0.130 |
| predicted_SO | 1.000 | 0.322 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 6.000 | 0.1000 | 0.2174 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.1500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 2.000 | 0.000 | 0.000 | 3.000 | 7.000 | 5.000 | 8.000 | 0.2973 | 0.3721 | 0.3514 | 0.2973 | 0.0000 | 0.0811 | 0.1351 | 0.2162 |
| season | 0.60 | 83 | - | 315.000 | 101.000 | 15.000 | 1.000 | 12.000 | 53.000 | 46.000 | 37.000 | 51.000 | 0.3206 | 0.4038 | 0.4889 | 0.3206 | 0.0381 | 0.1683 | 0.1175 | 0.1619 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1530 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.8160 |
| predicted_AVG | 0.2700 |
| predicted_BB | 0.4700 |
| predicted_H | 1.0300 |
| predicted_HBP | 0.0630 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.3561 |
| predicted_R | 0.5160 |
| predicted_RBI | 0.4500 |
| predicted_SLG | 0.3856 |
| predicted_SO | 0.7710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.1530 | 0.1690 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.4000 | 3.8160 | 4.1502 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2700 | 0.2586 | model_form_blend |
| predicted_BB | 0.4460 | 0.4700 | 0.4563 | model_form_blend |
| predicted_H | 1.1000 | 1.0300 | 1.0701 | model_form_blend |
| predicted_HBP | - | 0.0630 | 0.0630 | form_only |
| predicted_HR | 0.1100 | 0.0910 | 0.1019 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3561 | 0.3475 | model_form_blend |
| predicted_R | 0.5540 | 0.5160 | 0.5377 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4500 | 0.4786 | model_form_blend |
| predicted_SLG | 0.3990 | 0.3856 | 0.3933 | model_form_blend |
| predicted_SO | 0.6140 | 0.7710 | 0.6812 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.321 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 20260705_TB@HOU |
| 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-05 |
| sl_k_percent | 14.0 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.388 |
| sl_xwoba | 0.368 |
| sl_xba | 0.293 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 47.5 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 5.7 |
| sl_whiff_percent | 15.0 |
| 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.151 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.030 | 3.000 | 4.000 | Hitting_AB | 3.731 | 4.000 | -0.731 | -1.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.290 | 0.250 | -0.290 | -0.250 |
| predicted_BB | 0.570 | 1.000 | 1.000 | Hitting_BB | 0.588 | 0.000 | 0.412 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 0.000 | 1.000 | Hitting_H | 1.081 | 1.000 | -1.081 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_OBP | 0.351 | 0.250 | 0.400 | Hitting_OBP | 0.385 | 0.250 | -0.135 | 0.000 |
| predicted_R | 0.523 | 0.000 | 1.000 | Hitting_R | 0.573 | 0.000 | -0.573 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.796 | 0.000 | -0.796 | 0.000 |
| predicted_SLG | 0.414 | 0.000 | 0.250 | Hitting_SLG | 0.476 | 0.250 | -0.476 | -0.250 |
| predicted_SO | 0.965 | 3.000 | 1.000 | Hitting_SO | 1.035 | 0.000 | 1.965 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.9650 -> 3.0000 (boost 2.0350, worse) |
| Biggest Deboost | predicted_AB: 4.0300 -> 3.0000 (deboost -1.0300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2560 -> 0.2670 (boost 0.0110, better) | predicted_AB: 4.0300 -> 3.9199 (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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4126 -> 0.4011 (deboost -0.0115, 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.5173 -> 1.0000 (boost 0.4827, better) | predicted_2B: 0.1454 -> 0.0000 (deboost -0.1454, worse) | AB rounded to 4 (raw=4.03), rates preserved: AVG=0.262 HR/AB=0.030 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5430 -> 1.0000 (boost 0.4570, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3550 -> 0.4000 (boost 0.0450, better) | predicted_SLG: 0.4011 -> 0.2500 (deboost -0.1511, 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 -> 3.0000 (boost 2.0000, worse) | 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.4011 (boost 0.1511, better) | predicted_OBP: 0.4000 -> 0.3550 (deboost -0.0450, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.151,
"predicted_3B": 0.0,
"predicted_AB": 4.03,
"predicted_AVG": 0.256,
"predicted_BB": 0.57,
"predicted_H": 1.03,
"predicted_HR": 0.13,
"predicted_OBP": 0.351,
"predicted_R": 0.523,
"predicted_RBI": 0.52,
"predicted_SLG": 0.414,
"predicted_SO": 0.965
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1454,
"predicted_3B": 0.0004,
"predicted_AB": 3.9199,
"predicted_AVG": 0.267,
"predicted_BB": 0.5147,
"predicted_H": 1.0441,
"predicted_HBP": 0.12,
"predicted_HR": 0.124,
"predicted_OBP": 0.3587,
"predicted_R": 0.5286,
"predicted_RBI": 0.5187,
"predicted_SLG": 0.4126,
"predicted_SO": 0.9273
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1454,
"delta": -0.0056,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9199,
"delta": -0.1101,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.267,
"delta": 0.011,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.57,
"after": 0.5147,
"delta": -0.0553,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0441,
"delta": 0.0141,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.124,
"delta": -0.006,
"percent_delta": -0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3587,
"delta": 0.0077,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.5286,
"delta": 0.0056,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5187,
"delta": -0.0013,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4126,
"delta": -0.0014,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 0.9273,
"delta": -0.0377,
"percent_delta": -0.0391,
"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.256,
"after": 0.267,
"delta": 0.011,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9199,
"delta": -0.1101,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1454,
"predicted_3B": 0.0004,
"predicted_AB": 3.9199,
"predicted_AVG": 0.2698,
"predicted_BB": 0.5173,
"predicted_H": 1.0578,
"predicted_HBP": 0.12,
"predicted_HR": 0.1228,
"predicted_OBP": 0.355,
"predicted_R": 0.543,
"predicted_RBI": 0.5328,
"predicted_SLG": 0.4011,
"predicted_SO": 0.9227
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.1454,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9199,
"after": 3.9199,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2698,
"delta": 0.0028,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5147,
"after": 0.5173,
"delta": 0.0026,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0441,
"after": 1.0578,
"delta": 0.0137,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.12,
"after": 0.12,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.124,
"after": 0.1228,
"delta": -0.0012,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3587,
"after": 0.355,
"delta": -0.0037,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5286,
"after": 0.543,
"delta": 0.0144,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5187,
"after": 0.5328,
"delta": 0.0141,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4126,
"after": 0.4011,
"delta": -0.0115,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9273,
"after": 0.9227,
"delta": -0.0046,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4126,
"after": 0.4011,
"delta": -0.0115,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.03), rates preserved: AVG=0.262 HR/AB=0.030",
"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.1454,
"after": 0.0,
"delta": -0.1454,
"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.9199,
"after": 4.0,
"delta": 0.0801,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5173,
"after": 1.0,
"delta": 0.4827,
"percent_delta": 0.9331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0578,
"after": 1.0,
"delta": -0.0578,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1228,
"after": 0.0,
"delta": -0.1228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5328,
"after": 1.0,
"delta": 0.4672,
"percent_delta": 0.8769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9227,
"after": 1.0,
"delta": 0.0773,
"percent_delta": 0.0838,
"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.5173,
"after": 1.0,
"delta": 0.4827,
"percent_delta": 0.9331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.0,
"delta": -0.1454,
"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": 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": 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.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"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.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"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.2698,
"after": 0.25,
"delta": -0.0198,
"percent_delta": -0.0734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.4,
"delta": 0.045,
"percent_delta": 0.1268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4011,
"after": 0.25,
"delta": -0.1511,
"percent_delta": -0.3767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.355,
"after": 0.4,
"delta": 0.045,
"percent_delta": 0.1268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4011,
"after": 0.25,
"delta": -0.1511,
"percent_delta": -0.3767,
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2698,
"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.355,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4011,
"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.2698,
"delta": 0.0198,
"percent_delta": 0.0794,
"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.355,
"delta": -0.045,
"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.25,
"after": 0.4011,
"delta": 0.1511,
"percent_delta": 0.6045,
"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.4011,
"delta": 0.1511,
"percent_delta": 0.6045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.355,
"delta": -0.045,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.0,
"delta": -1.03,
"percent_delta": -0.2556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2698,
"delta": 0.0138,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.355,
"delta": 0.004,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.0,
"delta": -0.523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4011,
"delta": -0.0129,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 3.0,
"delta": 2.035,
"percent_delta": 2.1088,
"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.965,
"after": 3.0,
"delta": 2.035,
"percent_delta": 2.1088,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.0,
"delta": -1.03,
"percent_delta": -0.2556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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 | 4.030 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.570 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.523 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.414 | - |
| predicted_SO | 0.965 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | -0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.920 | -0.110 |
| predicted_AVG | 0.267 | 0.011 |
| predicted_BB | 0.515 | -0.055 |
| predicted_H | 1.044 | 0.014 |
| predicted_HBP | 0.120 | - |
| predicted_HR | 0.124 | -0.006 |
| predicted_OBP | 0.359 | 0.008 |
| predicted_R | 0.529 | 0.006 |
| predicted_RBI | 0.519 | -0.001 |
| predicted_SLG | 0.413 | -0.001 |
| predicted_SO | 0.927 | -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.145 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.920 | 0.000 |
| predicted_AVG | 0.270 | 0.003 |
| predicted_BB | 0.517 | 0.003 |
| predicted_H | 1.058 | 0.014 |
| predicted_HBP | 0.120 | 0.000 |
| predicted_HR | 0.123 | -0.001 |
| predicted_OBP | 0.355 | -0.004 |
| predicted_R | 0.543 | 0.014 |
| predicted_RBI | 0.533 | 0.014 |
| predicted_SLG | 0.401 | -0.012 |
| predicted_SO | 0.923 | -0.005 |
AB rounded to 4 (raw=4.03), rates preserved: AVG=0.262 HR/AB=0.030
| 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 | 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.145 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.080 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 1.000 | 0.483 |
| predicted_H | 1.000 | -0.058 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.400 | 0.045 |
| predicted_R | 1.000 | 0.457 |
| predicted_RBI | 1.000 | 0.467 |
| predicted_SLG | 0.250 | -0.151 |
| predicted_SO | 1.000 | 0.077 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 5.000 | 0.2381 | 0.2727 | 0.2381 | 0.2381 | 0.0000 | 0.0000 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 10 | - | 37.000 | 12.000 | 2.000 | 0.000 | 1.000 | 5.000 | 7.000 | 5.000 | 5.000 | 0.3243 | 0.4318 | 0.4595 | 0.3243 | 0.0270 | 0.1351 | 0.1351 | 0.1351 |
| season | 0.60 | 86 | - | 314.000 | 90.000 | 13.000 | 0.000 | 13.000 | 58.000 | 45.000 | 49.000 | 83.000 | 0.2866 | 0.3883 | 0.4522 | 0.2866 | 0.0414 | 0.1847 | 0.1560 | 0.2643 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7730 |
| predicted_AVG | 0.2817 |
| predicted_BB | 0.4410 |
| predicted_H | 1.0630 |
| predicted_HBP | 0.1200 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.3689 |
| predicted_R | 0.5360 |
| predicted_RBI | 0.5170 |
| predicted_SLG | 0.4107 |
| predicted_SO | 0.8770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.1380 | 0.1454 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0300 | 3.7730 | 3.9199 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2817 | 0.2670 | model_form_blend |
| predicted_BB | 0.5700 | 0.4410 | 0.5147 | model_form_blend |
| predicted_H | 1.0300 | 1.0630 | 1.0441 | model_form_blend |
| predicted_HBP | - | 0.1200 | 0.1200 | form_only |
| predicted_HR | 0.1300 | 0.1160 | 0.1240 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3689 | 0.3587 | model_form_blend |
| predicted_R | 0.5230 | 0.5360 | 0.5286 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5170 | 0.5187 | model_form_blend |
| predicted_SLG | 0.4140 | 0.4107 | 0.4126 | model_form_blend |
| predicted_SO | 0.9650 | 0.8770 | 0.9273 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 260 |
| Season rows before report date | 260 |
| Report year | 2026 |
| Profile rows used | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.287 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260705_TB@HOU |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.368 |
| sl_xwoba | 0.367 |
| sl_xba | 0.268 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 21.6 |
| 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 | 0.000 | 0.000 | Hitting_2B | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.120 | 4.000 | 4.000 | Hitting_AB | 3.921 | 3.000 | 0.079 | 1.000 |
| predicted_AVG | 0.254 | 0.500 | 0.250 | Hitting_AVG | 0.272 | 0.000 | 0.228 | 0.500 |
| predicted_BB | 0.563 | 0.000 | 0.000 | Hitting_BB | 0.605 | 1.000 | -0.605 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 1.050 | 2.000 | 1.000 | Hitting_H | 1.068 | 0.000 | 0.932 | 2.000 |
| predicted_HR | 0.330 | 1.000 | 0.000 | Hitting_HR | 0.263 | 0.000 | 0.737 | 1.000 |
| predicted_OBP | 0.344 | 0.500 | 0.250 | Hitting_OBP | 0.368 | 0.250 | 0.132 | 0.250 |
| predicted_R | 0.655 | 1.000 | 1.000 | Hitting_R | 0.673 | 0.000 | 0.327 | 1.000 |
| predicted_RBI | 0.800 | 2.000 | 1.000 | Hitting_RBI | 0.586 | 0.000 | 1.414 | 2.000 |
| predicted_SLG | 0.562 | 1.250 | 0.250 | Hitting_SLG | 0.505 | 0.000 | 0.745 | 1.250 |
| predicted_SO | 0.782 | 1.000 | 1.000 | Hitting_SO | 0.744 | 1.000 | 0.256 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.8000 -> 2.0000 (boost 1.2000, better) |
| Biggest Deboost | predicted_BB: 0.5630 -> 0.0000 (deboost -0.5630, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_HR: 0.3300 -> 0.3887 (boost 0.0587, better) | predicted_AB: 4.1200 -> 4.0128 (deboost -0.1072, worse) | Final model input calibrated with local 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.6066 -> 0.5863 (deboost -0.0203, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_BB: 0.5313 -> 1.0000 (boost 0.4687, better) | predicted_HR: 0.3850 -> 0.0000 (deboost -0.3850, worse) | AB rounded to 4 (raw=4.12), rates preserved: AVG=0.262 HR/AB=0.093 |
| 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.7146 -> 1.0000 (boost 0.2854, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5863 -> 0.2500 (deboost -0.3363, 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_H: 1.0000 -> 2.0000 (boost 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.5863 (boost 0.3363, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.0,
"predicted_AB": 4.12,
"predicted_AVG": 0.254,
"predicted_BB": 0.563,
"predicted_H": 1.05,
"predicted_HR": 0.33,
"predicted_OBP": 0.344,
"predicted_R": 0.655,
"predicted_RBI": 0.8,
"predicted_SLG": 0.562,
"predicted_SO": 0.782
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1183,
"predicted_3B": 0.0004,
"predicted_AB": 4.0128,
"predicted_AVG": 0.2652,
"predicted_BB": 0.5287,
"predicted_H": 1.0646,
"predicted_HBP": 0.002,
"predicted_HR": 0.3887,
"predicted_OBP": 0.3504,
"predicted_R": 0.6957,
"predicted_RBI": 0.8369,
"predicted_SLG": 0.6066,
"predicted_SO": 0.818
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1183,
"delta": -0.0197,
"percent_delta": -0.1428,
"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.0128,
"delta": -0.1072,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2652,
"delta": 0.0112,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.563,
"after": 0.5287,
"delta": -0.0343,
"percent_delta": -0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0646,
"delta": 0.0146,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.33,
"after": 0.3887,
"delta": 0.0587,
"percent_delta": 0.1779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3504,
"delta": 0.0064,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 0.6957,
"delta": 0.0407,
"percent_delta": 0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8,
"after": 0.8369,
"delta": 0.0369,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.562,
"after": 0.6066,
"delta": 0.0446,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.782,
"after": 0.818,
"delta": 0.036,
"percent_delta": 0.046,
"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_HR",
"before": 0.33,
"after": 0.3887,
"delta": 0.0587,
"percent_delta": 0.1779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0128,
"delta": -0.1072,
"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": 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.1183,
"predicted_3B": 0.0004,
"predicted_AB": 4.0128,
"predicted_AVG": 0.2688,
"predicted_BB": 0.5313,
"predicted_H": 1.0785,
"predicted_HBP": 0.002,
"predicted_HR": 0.385,
"predicted_OBP": 0.3543,
"predicted_R": 0.7146,
"predicted_RBI": 0.8597,
"predicted_SLG": 0.5863,
"predicted_SO": 0.8139
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1183,
"after": 0.1183,
"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.0128,
"after": 4.0128,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2652,
"after": 0.2688,
"delta": 0.0036,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5287,
"after": 0.5313,
"delta": 0.0026,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0646,
"after": 1.0785,
"delta": 0.0139,
"percent_delta": 0.0131,
"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.3887,
"after": 0.385,
"delta": -0.0037,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3504,
"after": 0.3543,
"delta": 0.0039,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6957,
"after": 0.7146,
"delta": 0.0189,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8369,
"after": 0.8597,
"delta": 0.0228,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6066,
"after": 0.5863,
"delta": -0.0203,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 0.8139,
"delta": -0.0041,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.6066,
"after": 0.5863,
"delta": -0.0203,
"percent_delta": -0.0335,
"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.093",
"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.1183,
"after": 0.0,
"delta": -0.1183,
"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.0128,
"after": 4.0,
"delta": -0.0128,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5313,
"after": 1.0,
"delta": 0.4687,
"percent_delta": 0.8822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0785,
"after": 1.0,
"delta": -0.0785,
"percent_delta": -0.0728,
"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.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8597,
"after": 1.0,
"delta": 0.1403,
"percent_delta": 0.1632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8139,
"after": 1.0,
"delta": 0.1861,
"percent_delta": 0.2287,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5313,
"after": 1.0,
"delta": 0.4687,
"percent_delta": 0.8822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"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.7146,
"after": 1.0,
"delta": 0.2854,
"percent_delta": 0.3994,
"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.7146,
"after": 1.0,
"delta": 0.2854,
"percent_delta": 0.3994,
"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.2688,
"after": 0.25,
"delta": -0.0188,
"percent_delta": -0.0699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3543,
"after": 0.25,
"delta": -0.1043,
"percent_delta": -0.2944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5863,
"after": 0.25,
"delta": -0.3363,
"percent_delta": -0.5736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5863,
"after": 0.25,
"delta": -0.3363,
"percent_delta": -0.5736,
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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.2688,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3543,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5863,
"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.2688,
"delta": 0.0188,
"percent_delta": 0.0751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3543,
"delta": 0.1043,
"percent_delta": 0.4171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5863,
"delta": 0.3363,
"percent_delta": 1.345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5863,
"delta": 0.3363,
"percent_delta": 1.345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.12,
"after": 4.0,
"delta": -0.12,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2688,
"delta": 0.0148,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.563,
"after": 0.0,
"delta": -0.563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.0,
"delta": 0.95,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3543,
"delta": 0.0103,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 1.0,
"delta": 0.345,
"percent_delta": 0.5267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.562,
"after": 0.5863,
"delta": 0.0243,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.782,
"after": 1.0,
"delta": 0.218,
"percent_delta": 0.2788,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.563,
"after": 0.0,
"delta": -0.563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.563 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.330 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.655 | - |
| predicted_RBI | 0.800 | - |
| predicted_SLG | 0.562 | - |
| predicted_SO | 0.782 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | -0.020 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.013 | -0.107 |
| predicted_AVG | 0.265 | 0.011 |
| predicted_BB | 0.529 | -0.034 |
| predicted_H | 1.065 | 0.015 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.389 | 0.059 |
| predicted_OBP | 0.350 | 0.006 |
| predicted_R | 0.696 | 0.041 |
| predicted_RBI | 0.837 | 0.037 |
| predicted_SLG | 0.607 | 0.045 |
| predicted_SO | 0.818 | 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.118 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.013 | 0.000 |
| predicted_AVG | 0.269 | 0.004 |
| predicted_BB | 0.531 | 0.003 |
| predicted_H | 1.079 | 0.014 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.385 | -0.004 |
| predicted_OBP | 0.354 | 0.004 |
| predicted_R | 0.715 | 0.019 |
| predicted_RBI | 0.860 | 0.023 |
| predicted_SLG | 0.586 | -0.020 |
| predicted_SO | 0.814 | -0.004 |
AB rounded to 4 (raw=4.12), rates preserved: AVG=0.262 HR/AB=0.093
| 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.118 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.013 |
| predicted_AVG | 0.250 | -0.019 |
| predicted_BB | 0.000 | -0.531 |
| predicted_H | 1.000 | -0.079 |
| predicted_HR | 0.000 | -0.385 |
| predicted_OBP | 0.250 | -0.104 |
| predicted_R | 1.000 | 0.285 |
| predicted_RBI | 1.000 | 0.140 |
| predicted_SLG | 0.250 | -0.336 |
| predicted_SO | 1.000 | 0.186 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 0.000 | 0.000 | 3.000 | 4.000 | 4.000 | 2.000 | 6.000 | 0.2000 | 0.2727 | 0.6500 | 0.2000 | 0.1500 | 0.2000 | 0.1000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 40.000 | 14.000 | 0.000 | 0.000 | 10.000 | 19.000 | 11.000 | 4.000 | 8.000 | 0.3500 | 0.4091 | 1.1000 | 0.3500 | 0.2500 | 0.4750 | 0.1000 | 0.2000 |
| season | 0.60 | 87 | - | 330.000 | 95.000 | 12.000 | 0.000 | 26.000 | 56.000 | 57.000 | 49.000 | 68.000 | 0.2879 | 0.3780 | 0.5606 | 0.2879 | 0.0788 | 0.1697 | 0.1485 | 0.2061 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8700 |
| predicted_AVG | 0.2802 |
| predicted_BB | 0.4830 |
| predicted_H | 1.0840 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.4670 |
| predicted_OBP | 0.3590 |
| predicted_R | 0.7500 |
| predicted_RBI | 0.8860 |
| predicted_SLG | 0.6661 |
| predicted_SO | 0.8660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.0920 | 0.1183 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1200 | 3.8700 | 4.0128 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2802 | 0.2652 | model_form_blend |
| predicted_BB | 0.5630 | 0.4830 | 0.5287 | model_form_blend |
| predicted_H | 1.0500 | 1.0840 | 1.0646 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.3300 | 0.4670 | 0.3887 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3590 | 0.3504 | model_form_blend |
| predicted_R | 0.6550 | 0.7500 | 0.6957 | model_form_blend |
| predicted_RBI | 0.8000 | 0.8860 | 0.8369 | model_form_blend |
| predicted_SLG | 0.5620 | 0.6661 | 0.6066 | model_form_blend |
| predicted_SO | 0.7820 | 0.8660 | 0.8180 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.288 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-05 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.398 |
| sl_xwoba | 0.374 |
| sl_xba | 0.275 |
| sl_xslg | 0.51 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 51.7 |
| sl_exit_velocity_avg | 93.4 |
| sl_launch_angle_avg | 8.9 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 41.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.053 | 0.000 | 0.000 | Hitting_2B | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.620 | 4.000 | 4.000 | Hitting_AB | 3.656 | 2.000 | 0.344 | 2.000 |
| predicted_AVG | 0.242 | 0.500 | 0.250 | Hitting_AVG | 0.197 | 0.000 | 0.303 | 0.500 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_H | 0.880 | 2.000 | 1.000 | Hitting_H | 0.722 | 0.000 | 1.278 | 2.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | 0.906 | 1.000 |
| predicted_OBP | 0.315 | 0.500 | 0.250 | Hitting_OBP | 0.274 | 0.000 | 0.226 | 0.500 |
| predicted_R | 0.413 | 1.000 | 0.000 | Hitting_R | 0.420 | 0.000 | 0.580 | 1.000 |
| predicted_RBI | 0.510 | 1.000 | 1.000 | Hitting_RBI | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_SLG | 0.426 | 1.250 | 0.250 | Hitting_SLG | 0.305 | 0.000 | 0.945 | 1.250 |
| predicted_SO | 0.773 | 0.000 | 1.000 | Hitting_SO | 0.750 | 0.000 | -0.750 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.8800 -> 2.0000 (boost 1.1200, better) |
| Biggest Deboost | predicted_SO: 0.7730 -> 0.0000 (deboost -0.7730, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4260 -> 0.4417 (boost 0.0157, better) | predicted_AB: 3.6200 -> 3.5676 (deboost -0.0524, worse) | Final model input calibrated with local 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.4417 -> 0.4312 (deboost -0.0105, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.5391 -> 1.0000 (boost 0.4609, better) | predicted_BB: 0.3355 -> 0.0000 (deboost -0.3355, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.245 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4650 -> 0.0000 (deboost -0.4650, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4312 -> 0.2500 (deboost -0.1812, 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 -> 2.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4312 (boost 0.1812, 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.053,
"predicted_3B": 0.013,
"predicted_AB": 3.62,
"predicted_AVG": 0.242,
"predicted_BB": 0.333,
"predicted_H": 0.88,
"predicted_HR": 0.17,
"predicted_OBP": 0.315,
"predicted_R": 0.413,
"predicted_RBI": 0.51,
"predicted_SLG": 0.426,
"predicted_SO": 0.773
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0496,
"predicted_3B": 0.0113,
"predicted_AB": 3.5676,
"predicted_AVG": 0.2445,
"predicted_BB": 0.3338,
"predicted_H": 0.8741,
"predicted_HBP": 0.04,
"predicted_HR": 0.1954,
"predicted_OBP": 0.3164,
"predicted_R": 0.4527,
"predicted_RBI": 0.5248,
"predicted_SLG": 0.4417,
"predicted_SO": 0.7802
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.053,
"after": 0.0496,
"delta": -0.0034,
"percent_delta": -0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0113,
"delta": -0.0017,
"percent_delta": -0.1308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.62,
"after": 3.5676,
"delta": -0.0524,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2445,
"delta": 0.0025,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3338,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8741,
"delta": -0.0059,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1954,
"delta": 0.0254,
"percent_delta": 0.1494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3164,
"delta": 0.0014,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 0.4527,
"delta": 0.0397,
"percent_delta": 0.0961,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5248,
"delta": 0.0148,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.4417,
"delta": 0.0157,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.773,
"after": 0.7802,
"delta": 0.0072,
"percent_delta": 0.0093,
"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.426,
"after": 0.4417,
"delta": 0.0157,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.62,
"after": 3.5676,
"delta": -0.0524,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.0496,
"predicted_3B": 0.0113,
"predicted_AB": 3.5676,
"predicted_AVG": 0.2482,
"predicted_BB": 0.3355,
"predicted_H": 0.8856,
"predicted_HBP": 0.04,
"predicted_HR": 0.1935,
"predicted_OBP": 0.3128,
"predicted_R": 0.465,
"predicted_RBI": 0.5391,
"predicted_SLG": 0.4312,
"predicted_SO": 0.7763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0496,
"after": 0.0496,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5676,
"after": 3.5676,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2445,
"after": 0.2482,
"delta": 0.0037,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3338,
"after": 0.3355,
"delta": 0.0017,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8741,
"after": 0.8856,
"delta": 0.0115,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.04,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1954,
"after": 0.1935,
"delta": -0.0019,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3164,
"after": 0.3128,
"delta": -0.0036,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4527,
"after": 0.465,
"delta": 0.0123,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5248,
"after": 0.5391,
"delta": 0.0143,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4417,
"after": 0.4312,
"delta": -0.0105,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7802,
"after": 0.7763,
"delta": -0.0039,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4417,
"after": 0.4312,
"delta": -0.0105,
"percent_delta": -0.0238,
"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.245 HR/AB=0.053",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0496,
"after": 0.0,
"delta": -0.0496,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0,
"delta": -0.0113,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5676,
"after": 4.0,
"delta": 0.4324,
"percent_delta": 0.1212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3355,
"after": 0.0,
"delta": -0.3355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8856,
"after": 1.0,
"delta": 0.1144,
"percent_delta": 0.1292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1935,
"after": 0.0,
"delta": -0.1935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5391,
"after": 1.0,
"delta": 0.4609,
"percent_delta": 0.8549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7763,
"after": 1.0,
"delta": 0.2237,
"percent_delta": 0.2882,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5391,
"after": 1.0,
"delta": 0.4609,
"percent_delta": 0.8549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3355,
"after": 0.0,
"delta": -0.3355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.465,
"after": 0.0,
"delta": -0.465,
"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.465,
"after": 0.0,
"delta": -0.465,
"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.2482,
"after": 0.25,
"delta": 0.0018,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3128,
"after": 0.25,
"delta": -0.0628,
"percent_delta": -0.2008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4312,
"after": 0.25,
"delta": -0.1812,
"percent_delta": -0.4202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4312,
"after": 0.25,
"delta": -0.1812,
"percent_delta": -0.4202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2482,
"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.3128,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4312,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2482,
"delta": -0.0018,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3128,
"delta": 0.0628,
"percent_delta": 0.2513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4312,
"delta": 0.1812,
"percent_delta": 0.7248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.4312,
"delta": 0.1812,
"percent_delta": 0.7248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.62,
"after": 4.0,
"delta": 0.38,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2482,
"delta": 0.0062,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"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.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3128,
"delta": -0.0022,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.413,
"after": 1.0,
"delta": 0.587,
"percent_delta": 1.4213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.4312,
"delta": 0.0052,
"percent_delta": 0.0122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.773,
"after": 0.0,
"delta": -0.773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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_SO",
"before": 0.773,
"after": 0.0,
"delta": -0.773,
"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.053 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.620 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.413 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.426 | - |
| predicted_SO | 0.773 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.050 | -0.003 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.568 | -0.052 |
| predicted_AVG | 0.244 | 0.003 |
| predicted_BB | 0.334 | 0.001 |
| predicted_H | 0.874 | -0.006 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.195 | 0.025 |
| predicted_OBP | 0.316 | 0.001 |
| predicted_R | 0.453 | 0.040 |
| predicted_RBI | 0.525 | 0.015 |
| predicted_SLG | 0.442 | 0.016 |
| predicted_SO | 0.780 | 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.050 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.568 | 0.000 |
| predicted_AVG | 0.248 | 0.004 |
| predicted_BB | 0.336 | 0.002 |
| predicted_H | 0.886 | 0.012 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.194 | -0.002 |
| predicted_OBP | 0.313 | -0.004 |
| predicted_R | 0.465 | 0.012 |
| predicted_RBI | 0.539 | 0.014 |
| predicted_SLG | 0.431 | -0.010 |
| predicted_SO | 0.776 | -0.004 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.245 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.050 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.432 |
| predicted_AVG | 0.250 | 0.002 |
| predicted_BB | 0.000 | -0.336 |
| predicted_H | 1.000 | 0.114 |
| predicted_HR | 0.000 | -0.194 |
| predicted_OBP | 0.250 | -0.063 |
| predicted_R | 0.000 | -0.465 |
| predicted_RBI | 1.000 | 0.461 |
| predicted_SLG | 0.250 | -0.181 |
| predicted_SO | 1.000 | 0.224 |
Attached simulation box 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 | 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 | 5.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 2.000 | 4.000 | 0.2941 | 0.3684 | 0.6471 | 0.2941 | 0.1177 | 0.2353 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 0.000 | 0.000 | 4.000 | 8.000 | 7.000 | 3.000 | 8.000 | 0.3056 | 0.3500 | 0.6389 | 0.3056 | 0.1111 | 0.2222 | 0.0833 | 0.2222 |
| season | 0.60 | 75 | - | 258.000 | 55.000 | 4.000 | 1.000 | 10.000 | 29.000 | 31.000 | 25.000 | 58.000 | 0.2132 | 0.2931 | 0.3527 | 0.2132 | 0.0388 | 0.1124 | 0.0969 | 0.2248 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0450 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.4960 |
| predicted_AVG | 0.2479 |
| predicted_BB | 0.3350 |
| predicted_H | 0.8660 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.2300 |
| predicted_OBP | 0.3183 |
| predicted_R | 0.5070 |
| predicted_RBI | 0.5450 |
| predicted_SLG | 0.4632 |
| predicted_SO | 0.7900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0530 | 0.0450 | 0.0496 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 3.6200 | 3.4960 | 3.5676 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2479 | 0.2445 | model_form_blend |
| predicted_BB | 0.3330 | 0.3350 | 0.3338 | model_form_blend |
| predicted_H | 0.8800 | 0.8660 | 0.8741 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.1700 | 0.2300 | 0.1954 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3183 | 0.3164 | model_form_blend |
| predicted_R | 0.4130 | 0.5070 | 0.4527 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5450 | 0.5248 | model_form_blend |
| predicted_SLG | 0.4260 | 0.4632 | 0.4417 | model_form_blend |
| predicted_SO | 0.7730 | 0.7900 | 0.7802 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 212 |
| Season rows before report date | 212 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20260705_TB@HOU |
| game_type | full |
| mlbID | 656775 |
| playerID | 656775 |
| playerName | Cedric Mullins |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-05 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.289 |
| sl_xwoba | 0.268 |
| sl_xba | 0.192 |
| sl_xslg | 0.321 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 30.9 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 28.2 |
| sl_whiff_percent | 22.0 |
| 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.277 | 0.000 | 0.000 | Hitting_2B | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.234 | 4.000 | 3.000 | Hitting_AB | 3.514 | 1.000 | 0.486 | 3.000 |
| predicted_AVG | 0.267 | 0.000 | 0.333 | Hitting_AVG | 0.287 | 1.000 | -0.287 | -1.000 |
| predicted_BB | 0.191 | 0.000 | 0.000 | Hitting_BB | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 1.007 | 1.000 | -1.007 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_OBP | 0.323 | 0.000 | 0.333 | Hitting_OBP | 0.319 | 1.000 | -0.319 | -1.000 |
| predicted_R | 0.468 | 0.000 | 0.000 | Hitting_R | 0.493 | 0.000 | -0.493 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.572 | 0.000 | -0.572 | 0.000 |
| predicted_SLG | 0.443 | 0.000 | 0.333 | Hitting_SLG | 0.437 | 1.000 | -0.437 | -1.000 |
| predicted_SO | 0.681 | 0.000 | 1.000 | Hitting_SO | 0.746 | 0.000 | -0.746 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.2340 -> 4.0000 (boost 0.7660, better) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4430 -> 0.4558 (boost 0.0128, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4558 -> 0.4626 (boost 0.0068, better) | predicted_OBP: 0.3258 -> 0.3079 (deboost -0.0179, 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.6619 -> 1.0000 (boost 0.3381, worse) | predicted_RBI: 0.4893 -> 0.0000 (deboost -0.4893, worse) | AB rounded to 3 (raw=3.26), rates preserved: AVG=0.257 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4960 -> 0.0000 (deboost -0.4960, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2566 -> 0.3330 (boost 0.0764, better) | predicted_SLG: 0.4626 -> 0.3330 (deboost -0.1296, 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.4626 (boost 0.1296, better) | predicted_AVG: 0.3330 -> 0.2566 (deboost -0.0764, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"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.277,
"predicted_3B": 0.0,
"predicted_AB": 3.234,
"predicted_AVG": 0.267,
"predicted_BB": 0.191,
"predicted_H": 0.79,
"predicted_HR": 0.13,
"predicted_OBP": 0.323,
"predicted_R": 0.468,
"predicted_RBI": 0.45,
"predicted_SLG": 0.443,
"predicted_SO": 0.681
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2463,
"predicted_3B": 0.0008,
"predicted_AB": 3.2586,
"predicted_AVG": 0.2667,
"predicted_BB": 0.2407,
"predicted_H": 0.8252,
"predicted_HBP": 0.004,
"predicted_HR": 0.1425,
"predicted_OBP": 0.3258,
"predicted_R": 0.4829,
"predicted_RBI": 0.4763,
"predicted_SLG": 0.4558,
"predicted_SO": 0.6652
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.277,
"after": 0.2463,
"delta": -0.0307,
"percent_delta": -0.1108,
"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.234,
"after": 3.2586,
"delta": 0.0246,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2667,
"delta": -0.0003,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.191,
"after": 0.2407,
"delta": 0.0497,
"percent_delta": 0.2602,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.8252,
"delta": 0.0352,
"percent_delta": 0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1425,
"delta": 0.0125,
"percent_delta": 0.0962,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3258,
"delta": 0.0028,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.4829,
"delta": 0.0149,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4763,
"delta": 0.0263,
"percent_delta": 0.0584,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4558,
"delta": 0.0128,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 0.6652,
"delta": -0.0158,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4558,
"delta": 0.0128,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 47
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2463,
"predicted_3B": 0.0008,
"predicted_AB": 3.2586,
"predicted_AVG": 0.2566,
"predicted_BB": 0.2419,
"predicted_H": 0.836,
"predicted_HBP": 0.004,
"predicted_HR": 0.1411,
"predicted_OBP": 0.3079,
"predicted_R": 0.496,
"predicted_RBI": 0.4893,
"predicted_SLG": 0.4626,
"predicted_SO": 0.6619
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2463,
"after": 0.2463,
"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.2586,
"after": 3.2586,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2667,
"after": 0.2566,
"delta": -0.0101,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2407,
"after": 0.2419,
"delta": 0.0012,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8252,
"after": 0.836,
"delta": 0.0108,
"percent_delta": 0.0131,
"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.1425,
"after": 0.1411,
"delta": -0.0014,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3258,
"after": 0.3079,
"delta": -0.0179,
"percent_delta": -0.0549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4829,
"after": 0.496,
"delta": 0.0131,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4763,
"after": 0.4893,
"delta": 0.013,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4558,
"after": 0.4626,
"delta": 0.0068,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6652,
"after": 0.6619,
"delta": -0.0033,
"percent_delta": -0.005,
"direction": "no_change",
"projection_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.4558,
"after": 0.4626,
"delta": 0.0068,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3258,
"after": 0.3079,
"delta": -0.0179,
"percent_delta": -0.0549,
"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.257 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.2463,
"after": 0.0,
"delta": -0.2463,
"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.2586,
"after": 3.0,
"delta": -0.2586,
"percent_delta": -0.0794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2419,
"after": 0.0,
"delta": -0.2419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.836,
"after": 1.0,
"delta": 0.164,
"percent_delta": 0.1962,
"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.1411,
"after": 0.0,
"delta": -0.1411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4893,
"after": 0.0,
"delta": -0.4893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6619,
"after": 1.0,
"delta": 0.3381,
"percent_delta": 0.5108,
"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.6619,
"after": 1.0,
"delta": 0.3381,
"percent_delta": 0.5108,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4893,
"after": 0.0,
"delta": -0.4893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.496,
"after": 0.0,
"delta": -0.496,
"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.2566,
"after": 0.333,
"delta": 0.0764,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3079,
"after": 0.333,
"delta": 0.0251,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4626,
"after": 0.333,
"delta": -0.1296,
"percent_delta": -0.2802,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2566,
"after": 0.333,
"delta": 0.0764,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4626,
"after": 0.333,
"delta": -0.1296,
"percent_delta": -0.2802,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2566,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3079,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4626,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2566,
"delta": -0.0764,
"percent_delta": -0.2296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3079,
"delta": -0.0251,
"percent_delta": -0.0753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4626,
"delta": 0.1296,
"percent_delta": 0.3891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4626,
"delta": 0.1296,
"percent_delta": 0.3891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2566,
"delta": -0.0764,
"percent_delta": -0.2296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.277,
"after": 0.0,
"delta": -0.277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.234,
"after": 4.0,
"delta": 0.766,
"percent_delta": 0.2369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2566,
"delta": -0.0104,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.3079,
"delta": -0.0151,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4626,
"delta": 0.0196,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 0.0,
"delta": -0.681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.234,
"after": 4.0,
"delta": 0.766,
"percent_delta": 0.2369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.277 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.234 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.191 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.443 | - |
| predicted_SO | 0.681 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.246 | -0.031 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.259 | 0.025 |
| predicted_AVG | 0.267 | -0.000 |
| predicted_BB | 0.241 | 0.050 |
| predicted_H | 0.825 | 0.035 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.142 | 0.012 |
| predicted_OBP | 0.326 | 0.003 |
| predicted_R | 0.483 | 0.015 |
| predicted_RBI | 0.476 | 0.026 |
| predicted_SLG | 0.456 | 0.013 |
| predicted_SO | 0.665 | -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.246 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.259 | 0.000 |
| predicted_AVG | 0.257 | -0.010 |
| predicted_BB | 0.242 | 0.001 |
| predicted_H | 0.836 | 0.011 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.141 | -0.001 |
| predicted_OBP | 0.308 | -0.018 |
| predicted_R | 0.496 | 0.013 |
| predicted_RBI | 0.489 | 0.013 |
| predicted_SLG | 0.463 | 0.007 |
| predicted_SO | 0.662 | -0.003 |
AB rounded to 3 (raw=3.26), rates preserved: AVG=0.257 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.246 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.259 |
| predicted_AVG | 0.333 | 0.076 |
| predicted_BB | 0.000 | -0.242 |
| predicted_H | 1.000 | 0.164 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.333 | 0.025 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 0.000 | -0.489 |
| predicted_SLG | 0.333 | -0.130 |
| predicted_SO | 1.000 | 0.338 |
Attached simulation box 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 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 2.000 | 0.2667 | 0.3889 | 0.4667 | 0.2667 | 0.0667 | 0.1333 | 0.2000 | 0.1333 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 2.000 | 0.000 | 3.000 | 6.000 | 5.000 | 4.000 | 6.000 | 0.2727 | 0.3514 | 0.6061 | 0.2727 | 0.0909 | 0.1818 | 0.1212 | 0.1818 |
| season | 0.60 | 47 | - | 152.000 | 41.000 | 13.000 | 0.000 | 5.000 | 25.000 | 22.000 | 9.000 | 32.000 | 0.2697 | 0.3106 | 0.4539 | 0.2697 | 0.0329 | 0.1645 | 0.0592 | 0.2105 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2950 |
| predicted_AVG | 0.2663 |
| predicted_BB | 0.3140 |
| predicted_H | 0.8770 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.3300 |
| predicted_R | 0.5050 |
| predicted_RBI | 0.5150 |
| predicted_SLG | 0.4747 |
| predicted_SO | 0.6420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2770 | 0.2010 | 0.2463 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2340 | 3.2950 | 3.2586 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2663 | 0.2667 | model_form_blend |
| predicted_BB | 0.1910 | 0.3140 | 0.2407 | model_form_blend |
| predicted_H | 0.7900 | 0.8770 | 0.8252 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1300 | 0.1610 | 0.1425 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3300 | 0.3258 | model_form_blend |
| predicted_R | 0.4680 | 0.5050 | 0.4829 | model_form_blend |
| predicted_RBI | 0.4500 | 0.5150 | 0.4763 | model_form_blend |
| predicted_SLG | 0.4430 | 0.4747 | 0.4558 | model_form_blend |
| predicted_SO | 0.6810 | 0.6420 | 0.6652 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 138 |
| Season rows before report date | 138 |
| Report year | 2026 |
| Profile rows used | 47 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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-CF |
| gameID | 20260705_TB@HOU |
| game_type | ph |
| mlbID | 676356 |
| note | Singled for Palacios, R in the 8th. |
| playerID | 676356 |
| playerName | Jonny DeLuca |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-05 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.332 |
| sl_xwoba | 0.294 |
| sl_xba | 0.254 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 29.5 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 51.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.172 | 0.000 | 0.000 | Hitting_2B | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.016 | 4.000 | 3.000 | Hitting_AB | 3.189 | 1.000 | 0.811 | 3.000 |
| predicted_AVG | 0.270 | 0.000 | 0.333 | Hitting_AVG | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_BB | 0.078 | 0.000 | 0.000 | Hitting_BB | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.760 | 0.000 | 1.000 | Hitting_H | 0.805 | 0.000 | -0.805 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_OBP | 0.305 | 0.000 | 0.333 | Hitting_OBP | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_R | 0.328 | 0.000 | 0.000 | Hitting_R | 0.314 | 0.000 | -0.314 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_SLG | 0.401 | 0.000 | 0.333 | Hitting_SLG | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_SO | 0.391 | 1.000 | 0.000 | Hitting_SO | 0.465 | 0.000 | 0.535 | 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.0160 -> 4.0000 (boost 0.9840, better) |
| Biggest Deboost | predicted_H: 0.7600 -> 0.0000 (deboost -0.7600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4010 -> 0.4067 (boost 0.0057, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3059 -> 0.2820 (deboost -0.0239, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7996 -> 1.0000 (boost 0.2004, better) | predicted_RBI: 0.4454 -> 0.0000 (deboost -0.4454, worse) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.264 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3654 -> 0.0000 (deboost -0.3654, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2643 -> 0.3330 (boost 0.0687, better) | predicted_SLG: 0.4080 -> 0.3330 (deboost -0.0750, 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.4080 (boost 0.0750, better) | predicted_AVG: 0.3330 -> 0.2643 (deboost -0.0687, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663743",
"player_name": "Nick Fortes",
"position": "C",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.0,
"predicted_AB": 3.016,
"predicted_AVG": 0.27,
"predicted_BB": 0.078,
"predicted_H": 0.76,
"predicted_HR": 0.09,
"predicted_OBP": 0.305,
"predicted_R": 0.328,
"predicted_RBI": 0.42,
"predicted_SLG": 0.401,
"predicted_SO": 0.391
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1695,
"predicted_3B": 0.0008,
"predicted_AB": 3.0259,
"predicted_AVG": 0.2713,
"predicted_BB": 0.0743,
"predicted_H": 0.7893,
"predicted_HBP": 0.08,
"predicted_HR": 0.0888,
"predicted_OBP": 0.3059,
"predicted_R": 0.3557,
"predicted_RBI": 0.4336,
"predicted_SLG": 0.4067,
"predicted_SO": 0.405
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1695,
"delta": -0.0025,
"percent_delta": -0.0145,
"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.016,
"after": 3.0259,
"delta": 0.0099,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2713,
"delta": 0.0013,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.078,
"after": 0.0743,
"delta": -0.0037,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7893,
"delta": 0.0293,
"percent_delta": 0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0888,
"delta": -0.0012,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3059,
"delta": 0.0009,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.328,
"after": 0.3557,
"delta": 0.0277,
"percent_delta": 0.0845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4336,
"delta": 0.0136,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4067,
"delta": 0.0057,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.391,
"after": 0.405,
"delta": 0.014,
"percent_delta": 0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4067,
"delta": 0.0057,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1695,
"predicted_3B": 0.0008,
"predicted_AB": 3.0259,
"predicted_AVG": 0.2643,
"predicted_BB": 0.0747,
"predicted_H": 0.7996,
"predicted_HBP": 0.08,
"predicted_HR": 0.0879,
"predicted_OBP": 0.282,
"predicted_R": 0.3654,
"predicted_RBI": 0.4454,
"predicted_SLG": 0.408,
"predicted_SO": 0.403
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1695,
"after": 0.1695,
"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.0259,
"after": 3.0259,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2713,
"after": 0.2643,
"delta": -0.007,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0743,
"after": 0.0747,
"delta": 0.0004,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7893,
"after": 0.7996,
"delta": 0.0103,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.08,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0888,
"after": 0.0879,
"delta": -0.0009,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3059,
"after": 0.282,
"delta": -0.0239,
"percent_delta": -0.0781,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3557,
"after": 0.3654,
"delta": 0.0097,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4336,
"after": 0.4454,
"delta": 0.0118,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4067,
"after": 0.408,
"delta": 0.0013,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.405,
"after": 0.403,
"delta": -0.002,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3059,
"after": 0.282,
"delta": -0.0239,
"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.03), rates preserved: AVG=0.264 HR/AB=0.029",
"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.1695,
"after": 0.0,
"delta": -0.1695,
"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.0259,
"after": 3.0,
"delta": -0.0259,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0747,
"after": 0.0,
"delta": -0.0747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7996,
"after": 1.0,
"delta": 0.2004,
"percent_delta": 0.2506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0879,
"after": 0.0,
"delta": -0.0879,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4454,
"after": 0.0,
"delta": -0.4454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"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.7996,
"after": 1.0,
"delta": 0.2004,
"percent_delta": 0.2506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4454,
"after": 0.0,
"delta": -0.4454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3654,
"after": 0.0,
"delta": -0.3654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3654,
"after": 0.0,
"delta": -0.3654,
"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.2643,
"after": 0.333,
"delta": 0.0687,
"percent_delta": 0.2599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.333,
"delta": 0.051,
"percent_delta": 0.1809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.333,
"delta": -0.075,
"percent_delta": -0.1838,
"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.2643,
"after": 0.333,
"delta": 0.0687,
"percent_delta": 0.2599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.333,
"delta": -0.075,
"percent_delta": -0.1838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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_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.2643,
"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.282,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.408,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2643,
"delta": -0.0687,
"percent_delta": -0.2064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.282,
"delta": -0.051,
"percent_delta": -0.1532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.408,
"delta": 0.075,
"percent_delta": 0.2252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.408,
"delta": 0.075,
"percent_delta": 0.2252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2643,
"delta": -0.0687,
"percent_delta": -0.2064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.016,
"after": 4.0,
"delta": 0.984,
"percent_delta": 0.3263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2643,
"delta": -0.0057,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"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.305,
"after": 0.282,
"delta": -0.023,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.328,
"after": 0.0,
"delta": -0.328,
"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.401,
"after": 0.408,
"delta": 0.007,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.391,
"after": 1.0,
"delta": 0.609,
"percent_delta": 1.5575,
"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.016,
"after": 4.0,
"delta": 0.984,
"percent_delta": 0.3263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.016 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.078 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.328 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.391 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.026 | 0.010 |
| predicted_AVG | 0.271 | 0.001 |
| predicted_BB | 0.074 | -0.004 |
| predicted_H | 0.789 | 0.029 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.306 | 0.001 |
| predicted_R | 0.356 | 0.028 |
| predicted_RBI | 0.434 | 0.014 |
| predicted_SLG | 0.407 | 0.006 |
| predicted_SO | 0.405 | 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.170 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.026 | 0.000 |
| predicted_AVG | 0.264 | -0.007 |
| predicted_BB | 0.075 | 0.000 |
| predicted_H | 0.800 | 0.010 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.088 | -0.001 |
| predicted_OBP | 0.282 | -0.024 |
| predicted_R | 0.365 | 0.010 |
| predicted_RBI | 0.445 | 0.012 |
| predicted_SLG | 0.408 | 0.001 |
| predicted_SO | 0.403 | -0.002 |
AB rounded to 3 (raw=3.03), rates preserved: AVG=0.264 HR/AB=0.029
| 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.170 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.026 |
| predicted_AVG | 0.333 | 0.069 |
| predicted_BB | 0.000 | -0.075 |
| predicted_H | 1.000 | 0.200 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.333 | 0.051 |
| predicted_R | 0.000 | -0.365 |
| predicted_RBI | 0.000 | -0.445 |
| predicted_SLG | 0.333 | -0.075 |
| predicted_SO | 0.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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.3571 | 0.3571 | 0.6429 | 0.3571 | 0.0714 | 0.2857 | 0.0000 | 0.1429 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 5.000 | 0.000 | 3.000 | 0.2500 | 0.2759 | 0.3929 | 0.2500 | 0.0357 | 0.1786 | 0.0000 | 0.1071 |
| season | 0.60 | 64 | - | 193.000 | 50.000 | 11.000 | 0.000 | 2.000 | 19.000 | 21.000 | 5.000 | 25.000 | 0.2591 | 0.3010 | 0.3472 | 0.2591 | 0.0104 | 0.0984 | 0.0259 | 0.1295 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1660 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0400 |
| predicted_AVG | 0.2732 |
| predicted_BB | 0.0690 |
| predicted_H | 0.8310 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.0870 |
| predicted_OBP | 0.3071 |
| predicted_R | 0.3950 |
| predicted_RBI | 0.4530 |
| predicted_SLG | 0.4147 |
| predicted_SO | 0.4250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1660 | 0.1695 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0160 | 3.0400 | 3.0259 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2732 | 0.2713 | model_form_blend |
| predicted_BB | 0.0780 | 0.0690 | 0.0743 | model_form_blend |
| predicted_H | 0.7600 | 0.8310 | 0.7893 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.0900 | 0.0870 | 0.0888 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3071 | 0.3059 | model_form_blend |
| predicted_R | 0.3280 | 0.3950 | 0.3557 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4530 | 0.4336 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4147 | 0.4067 | model_form_blend |
| predicted_SO | 0.3910 | 0.4250 | 0.4050 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 159 |
| Season rows before report date | 159 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-C |
| gameID | 20260705_TB@HOU |
| game_type | ph |
| mlbID | 663743 |
| note | Popped out for Feduccia in the 8th. |
| playerID | 663743 |
| playerName | Nick Fortes |
| pos | C |
| started | False |
| startingPosition | PH |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-05 |
| sl_k_percent | 12.0 |
| sl_bb_percent | 2.4 |
| sl_woba | 0.289 |
| sl_xwoba | 0.272 |
| sl_xba | 0.24 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 21.6 |
| sl_barrel_batted_rate | 1.8 |
| sl_hard_hit_percent | 37.1 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 14.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.098 | 0.000 | 0.000 | Hitting_2B | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 2.984 | 4.000 | 3.000 | Hitting_AB | 3.063 | 2.000 | 0.937 | 2.000 |
| predicted_AVG | 0.238 | 0.250 | 0.333 | Hitting_AVG | 0.263 | 0.000 | -0.013 | 0.250 |
| predicted_BB | 0.393 | 0.000 | 0.000 | Hitting_BB | 0.441 | 0.000 | -0.441 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_H | 0.250 | 1.000 | 1.000 | Hitting_H | 0.804 | 0.000 | 0.196 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_OBP | 0.273 | 0.250 | 0.333 | Hitting_OBP | 0.366 | 0.000 | -0.116 | 0.250 |
| predicted_R | 0.377 | 0.000 | 0.000 | Hitting_R | 0.406 | 0.000 | -0.406 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_SLG | 0.341 | 0.250 | 0.333 | Hitting_SLG | 0.336 | 0.000 | -0.086 | 0.250 |
| predicted_SO | 0.639 | 2.000 | 1.000 | Hitting_SO | 0.748 | 0.000 | 1.252 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.6390 -> 2.0000 (boost 1.3610, worse) |
| Biggest Deboost | predicted_BB: 0.3930 -> 0.0000 (deboost -0.3930, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.2500 -> 0.4381 (boost 0.1881, better) | - | Final model input calibrated with local form: 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.3433 -> 0.2456 (deboost -0.0977, 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.5980 -> 1.0000 (boost 0.4020, worse) | predicted_H: 0.4438 -> 0.0000 (deboost -0.4438, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.146 HR/AB=0.017 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3974 -> 0.0000 (deboost -0.3974, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1462 -> 0.3330 (boost 0.1868, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1462 (deboost -0.1868, 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.098,
"predicted_3B": 0.033,
"predicted_AB": 2.984,
"predicted_AVG": 0.238,
"predicted_BB": 0.393,
"predicted_H": 0.25,
"predicted_HR": 0.03,
"predicted_OBP": 0.273,
"predicted_R": 0.377,
"predicted_RBI": 0.16,
"predicted_SLG": 0.341,
"predicted_SO": 0.639
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0873,
"predicted_3B": 0.0276,
"predicted_AB": 3.0357,
"predicted_AVG": 0.2334,
"predicted_BB": 0.3603,
"predicted_H": 0.4381,
"predicted_HBP": 0.03,
"predicted_HR": 0.0536,
"predicted_OBP": 0.2852,
"predicted_R": 0.3869,
"predicted_RBI": 0.272,
"predicted_SLG": 0.3433,
"predicted_SO": 0.601
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.098,
"after": 0.0873,
"delta": -0.0107,
"percent_delta": -0.1092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0276,
"delta": -0.0054,
"percent_delta": -0.1636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.984,
"after": 3.0357,
"delta": 0.0517,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2334,
"delta": -0.0046,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.3603,
"delta": -0.0327,
"percent_delta": -0.0832,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.4381,
"delta": 0.1881,
"percent_delta": 0.7524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0536,
"delta": 0.0236,
"percent_delta": 0.7867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2852,
"delta": 0.0122,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.3869,
"delta": 0.0099,
"percent_delta": 0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.272,
"delta": 0.112,
"percent_delta": 0.7,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3433,
"delta": 0.0023,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.601,
"delta": -0.038,
"percent_delta": -0.0595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.25,
"after": 0.4381,
"delta": 0.1881,
"percent_delta": 0.7524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0873,
"predicted_3B": 0.0276,
"predicted_AB": 3.0357,
"predicted_AVG": 0.1462,
"predicted_BB": 0.3621,
"predicted_H": 0.4438,
"predicted_HBP": 0.03,
"predicted_HR": 0.0531,
"predicted_OBP": 0.2372,
"predicted_R": 0.3974,
"predicted_RBI": 0.2794,
"predicted_SLG": 0.2456,
"predicted_SO": 0.598
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0873,
"after": 0.0873,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0276,
"after": 0.0276,
"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.2334,
"after": 0.1462,
"delta": -0.0872,
"percent_delta": -0.3736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3603,
"after": 0.3621,
"delta": 0.0018,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4381,
"after": 0.4438,
"delta": 0.0057,
"percent_delta": 0.013,
"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.0536,
"after": 0.0531,
"delta": -0.0005,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2852,
"after": 0.2372,
"delta": -0.048,
"percent_delta": -0.1683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3869,
"after": 0.3974,
"delta": 0.0105,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.272,
"after": 0.2794,
"delta": 0.0074,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3433,
"after": 0.2456,
"delta": -0.0977,
"percent_delta": -0.2846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.601,
"after": 0.598,
"delta": -0.003,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3433,
"after": 0.2456,
"delta": -0.0977,
"percent_delta": -0.2846,
"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.146 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0873,
"after": 0.0,
"delta": -0.0873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0276,
"after": 0.0,
"delta": -0.0276,
"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.3621,
"after": 0.0,
"delta": -0.3621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4438,
"after": 0.0,
"delta": -0.4438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0531,
"after": 0.0,
"delta": -0.0531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2794,
"after": 0.0,
"delta": -0.2794,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.598,
"after": 1.0,
"delta": 0.402,
"percent_delta": 0.6722,
"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.598,
"after": 1.0,
"delta": 0.402,
"percent_delta": 0.6722,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4438,
"after": 0.0,
"delta": -0.4438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3974,
"after": 0.0,
"delta": -0.3974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3974,
"after": 0.0,
"delta": -0.3974,
"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.1462,
"after": 0.333,
"delta": 0.1868,
"percent_delta": 1.2777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2372,
"after": 0.333,
"delta": 0.0958,
"percent_delta": 0.4039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2456,
"after": 0.333,
"delta": 0.0874,
"percent_delta": 0.3559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1462,
"after": 0.333,
"delta": 0.1868,
"percent_delta": 1.2777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1462,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2372,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2456,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1462,
"delta": -0.1868,
"percent_delta": -0.5609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2372,
"delta": -0.0958,
"percent_delta": -0.2877,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2456,
"delta": -0.0874,
"percent_delta": -0.2624,
"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.1462,
"delta": -0.1868,
"percent_delta": -0.5609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.984,
"after": 4.0,
"delta": 1.016,
"percent_delta": 0.3405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.1462,
"delta": -0.0918,
"percent_delta": -0.3857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"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.273,
"after": 0.2372,
"delta": -0.0358,
"percent_delta": -0.1311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.2456,
"delta": -0.0954,
"percent_delta": -0.2798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 2.0,
"delta": 1.361,
"percent_delta": 2.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.639,
"after": 2.0,
"delta": 1.361,
"percent_delta": 2.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.098 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 2.984 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.393 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.341 | - |
| predicted_SO | 0.639 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.087 | -0.011 |
| predicted_3B | 0.028 | -0.005 |
| predicted_AB | 3.036 | 0.052 |
| predicted_AVG | 0.233 | -0.005 |
| predicted_BB | 0.360 | -0.033 |
| predicted_H | 0.438 | 0.188 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.054 | 0.024 |
| predicted_OBP | 0.285 | 0.012 |
| predicted_R | 0.387 | 0.010 |
| predicted_RBI | 0.272 | 0.112 |
| predicted_SLG | 0.343 | 0.002 |
| predicted_SO | 0.601 | -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.087 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.036 | 0.000 |
| predicted_AVG | 0.146 | -0.087 |
| predicted_BB | 0.362 | 0.002 |
| predicted_H | 0.444 | 0.006 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.053 | -0.001 |
| predicted_OBP | 0.237 | -0.048 |
| predicted_R | 0.397 | 0.010 |
| predicted_RBI | 0.279 | 0.007 |
| predicted_SLG | 0.246 | -0.098 |
| predicted_SO | 0.598 | -0.003 |
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.146 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.087 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 3.000 | -0.036 |
| predicted_AVG | 0.333 | 0.187 |
| predicted_BB | 0.000 | -0.362 |
| predicted_H | 1.000 | 0.556 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.333 | 0.096 |
| predicted_R | 0.000 | -0.397 |
| predicted_RBI | 0.000 | -0.279 |
| predicted_SLG | 0.333 | 0.087 |
| predicted_SO | 1.000 | 0.402 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 2.000 | 0.2143 | 0.2667 | 0.4286 | 0.2143 | 0.0714 | 0.2143 | 0.0714 | 0.1429 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 2.000 | 0.2121 | 0.2571 | 0.3030 | 0.2121 | 0.0303 | 0.0909 | 0.0606 | 0.0606 |
| season | 0.60 | 61 | - | 182.000 | 42.000 | 6.000 | 2.000 | 2.000 | 24.000 | 23.000 | 24.000 | 39.000 | 0.2308 | 0.3286 | 0.3187 | 0.2308 | 0.0110 | 0.1319 | 0.1319 | 0.2143 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0720 |
| predicted_3B | 0.0200 |
| predicted_AB | 3.1090 |
| predicted_AVG | 0.2268 |
| predicted_BB | 0.3140 |
| predicted_H | 0.7050 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.0870 |
| predicted_OBP | 0.3024 |
| predicted_R | 0.4010 |
| predicted_RBI | 0.4310 |
| predicted_SLG | 0.3465 |
| predicted_SO | 0.5470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0980 | 0.0720 | 0.0873 | model_form_blend |
| predicted_3B | 0.0330 | 0.0200 | 0.0276 | model_form_blend |
| predicted_AB | 2.9840 | 3.1090 | 3.0357 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2268 | 0.2334 | model_form_blend |
| predicted_BB | 0.3930 | 0.3140 | 0.3603 | model_form_blend |
| predicted_H | 0.2500 | 0.7050 | 0.4381 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0300 | 0.0870 | 0.0536 | model_form_blend |
| predicted_OBP | 0.2730 | 0.3024 | 0.2852 | model_form_blend |
| predicted_R | 0.3770 | 0.4010 | 0.3869 | model_form_blend |
| predicted_RBI | 0.1600 | 0.4310 | 0.2720 | model_form_blend |
| predicted_SLG | 0.3410 | 0.3465 | 0.3433 | model_form_blend |
| predicted_SO | 0.6390 | 0.5470 | 0.6010 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| 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 | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260705_TB@HOU |
| game_type | full |
| mlbID | 680700 |
| playerID | 680700 |
| playerName | Richie Palacios |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-05 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.297 |
| sl_xwoba | 0.306 |
| sl_xba | 0.244 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 25.0 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 22.6 |
| 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.103 | 0.000 | 0.000 | Hitting_2B | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_3B | 0.051 | 0.000 | 0.000 | Hitting_3B | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_AB | 3.885 | 4.000 | 4.000 | Hitting_AB | 4.040 | 4.000 | -0.040 | 0.000 |
| predicted_AVG | 0.259 | 0.500 | 0.250 | Hitting_AVG | 0.283 | 0.250 | 0.217 | 0.250 |
| predicted_BB | 0.218 | 0.000 | 0.000 | Hitting_BB | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_H | 0.400 | 2.000 | 1.000 | Hitting_H | 1.143 | 1.000 | 0.857 | 1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.315 | 0.500 | 0.250 | Hitting_OBP | 0.320 | 0.250 | 0.180 | 0.250 |
| predicted_R | 0.436 | 0.000 | 0.000 | Hitting_R | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_SLG | 0.368 | 0.500 | 0.250 | Hitting_SLG | 0.332 | 0.250 | 0.168 | 0.250 |
| predicted_SO | 0.423 | 1.000 | 0.000 | Hitting_SO | 0.450 | 1.000 | 0.550 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_H: 0.4000 -> 2.0000 (boost 1.6000, better) |
| Biggest Deboost | predicted_R: 0.4360 -> 0.0000 (deboost -0.4360, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.4000 -> 0.7422 (boost 0.3422, better) | - | Final model input calibrated with local form: 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.3810 -> 0.2690 (deboost -0.1120, 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.7519 -> 1.0000 (boost 0.2481, better) | predicted_SO: 0.4010 -> 0.0000 (deboost -0.4010, better) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.194 HR/AB=0.004 |
| 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.4360 -> 0.0000 (deboost -0.4360, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1951 -> 0.2500 (boost 0.0549, better) | predicted_SLG: 0.2690 -> 0.2500 (deboost -0.0190, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.2690 (boost 0.0190, better) | predicted_AVG: 0.2500 -> 0.1951 (deboost -0.0549, 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.103,
"predicted_3B": 0.051,
"predicted_AB": 3.885,
"predicted_AVG": 0.259,
"predicted_BB": 0.218,
"predicted_H": 0.4,
"predicted_HR": 0.02,
"predicted_OBP": 0.315,
"predicted_R": 0.436,
"predicted_RBI": 0.12,
"predicted_SLG": 0.368,
"predicted_SO": 0.423
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1532,
"predicted_3B": 0.0416,
"predicted_AB": 3.8531,
"predicted_AVG": 0.2834,
"predicted_BB": 0.2333,
"predicted_H": 0.7422,
"predicted_HBP": 0.003,
"predicted_HR": 0.0162,
"predicted_OBP": 0.3334,
"predicted_R": 0.4245,
"predicted_RBI": 0.1417,
"predicted_SLG": 0.381,
"predicted_SO": 0.403
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.1532,
"delta": 0.0502,
"percent_delta": 0.4874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0416,
"delta": -0.0094,
"percent_delta": -0.1843,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.885,
"after": 3.8531,
"delta": -0.0319,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2834,
"delta": 0.0244,
"percent_delta": 0.0942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.218,
"after": 0.2333,
"delta": 0.0153,
"percent_delta": 0.0702,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.7422,
"delta": 0.3422,
"percent_delta": 0.8555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0162,
"delta": -0.0038,
"percent_delta": -0.19,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3334,
"delta": 0.0184,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.436,
"after": 0.4245,
"delta": -0.0115,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.1417,
"delta": 0.0217,
"percent_delta": 0.1808,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.381,
"delta": 0.013,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 0.403,
"delta": -0.02,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4,
"after": 0.7422,
"delta": 0.3422,
"percent_delta": 0.8555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1532,
"predicted_3B": 0.0416,
"predicted_AB": 3.8531,
"predicted_AVG": 0.1951,
"predicted_BB": 0.2345,
"predicted_H": 0.7519,
"predicted_HBP": 0.003,
"predicted_HR": 0.016,
"predicted_OBP": 0.2413,
"predicted_R": 0.436,
"predicted_RBI": 0.1456,
"predicted_SLG": 0.269,
"predicted_SO": 0.401
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1532,
"after": 0.1532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0416,
"after": 0.0416,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8531,
"after": 3.8531,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2834,
"after": 0.1951,
"delta": -0.0883,
"percent_delta": -0.3116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2333,
"after": 0.2345,
"delta": 0.0012,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7422,
"after": 0.7519,
"delta": 0.0097,
"percent_delta": 0.0131,
"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.0162,
"after": 0.016,
"delta": -0.0002,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3334,
"after": 0.2413,
"delta": -0.0921,
"percent_delta": -0.2762,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4245,
"after": 0.436,
"delta": 0.0115,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1417,
"after": 0.1456,
"delta": 0.0039,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.269,
"delta": -0.112,
"percent_delta": -0.294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.403,
"after": 0.401,
"delta": -0.002,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.269,
"delta": -0.112,
"percent_delta": -0.294,
"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.194 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.1532,
"after": 0.0,
"delta": -0.1532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0416,
"after": 0.0,
"delta": -0.0416,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8531,
"after": 4.0,
"delta": 0.1469,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2345,
"after": 0.0,
"delta": -0.2345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7519,
"after": 1.0,
"delta": 0.2481,
"percent_delta": 0.33,
"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.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1456,
"after": 0.0,
"delta": -0.1456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"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.7519,
"after": 1.0,
"delta": 0.2481,
"percent_delta": 0.33,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"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=9.0, weight=0.092, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.436,
"after": 0.0,
"delta": -0.436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.436,
"after": 0.0,
"delta": -0.436,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1951,
"after": 0.25,
"delta": 0.0549,
"percent_delta": 0.2814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2413,
"after": 0.25,
"delta": 0.0087,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.269,
"after": 0.25,
"delta": -0.019,
"percent_delta": -0.0706,
"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.1951,
"after": 0.25,
"delta": 0.0549,
"percent_delta": 0.2814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.269,
"after": 0.25,
"delta": -0.019,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 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_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.1951,
"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.2413,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.269,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1951,
"delta": -0.0549,
"percent_delta": -0.2194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2413,
"delta": -0.0087,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.269,
"delta": 0.019,
"percent_delta": 0.076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.269,
"delta": 0.019,
"percent_delta": 0.076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1951,
"delta": -0.0549,
"percent_delta": -0.2194,
"direction": "deboost",
"projection_effect": "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.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.885,
"after": 4.0,
"delta": 0.115,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.1951,
"delta": -0.0639,
"percent_delta": -0.2467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.218,
"after": 0.0,
"delta": -0.218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 2.0,
"delta": 1.6,
"percent_delta": 4.0,
"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.315,
"after": 0.2413,
"delta": -0.0737,
"percent_delta": -0.234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.436,
"after": 0.0,
"delta": -0.436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.269,
"delta": -0.099,
"percent_delta": -0.269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 1.0,
"delta": 0.577,
"percent_delta": 1.3641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4,
"after": 2.0,
"delta": 1.6,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.436,
"after": 0.0,
"delta": -0.436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.051 | - |
| predicted_AB | 3.885 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.218 | - |
| predicted_H | 0.400 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.436 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.368 | - |
| predicted_SO | 0.423 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | 0.050 |
| predicted_3B | 0.042 | -0.009 |
| predicted_AB | 3.853 | -0.032 |
| predicted_AVG | 0.283 | 0.024 |
| predicted_BB | 0.233 | 0.015 |
| predicted_H | 0.742 | 0.342 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.016 | -0.004 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 0.424 | -0.012 |
| predicted_RBI | 0.142 | 0.022 |
| predicted_SLG | 0.381 | 0.013 |
| predicted_SO | 0.403 | -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.153 | 0.000 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 3.853 | 0.000 |
| predicted_AVG | 0.195 | -0.088 |
| predicted_BB | 0.234 | 0.001 |
| predicted_H | 0.752 | 0.010 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.016 | -0.000 |
| predicted_OBP | 0.241 | -0.092 |
| predicted_R | 0.436 | 0.012 |
| predicted_RBI | 0.146 | 0.004 |
| predicted_SLG | 0.269 | -0.112 |
| predicted_SO | 0.401 | -0.002 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.194 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 | - |
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 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 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.153 |
| predicted_3B | 0.000 | -0.042 |
| predicted_AB | 4.000 | 0.147 |
| predicted_AVG | 0.250 | 0.055 |
| predicted_BB | 0.000 | -0.234 |
| predicted_H | 1.000 | 0.248 |
| predicted_HR | 0.000 | -0.016 |
| predicted_OBP | 0.250 | 0.009 |
| predicted_R | 0.000 | -0.436 |
| predicted_RBI | 0.000 | -0.146 |
| predicted_SLG | 0.250 | -0.019 |
| predicted_SO | 0.000 | -0.401 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 19.000 | 8.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 0.4211 | 0.4500 | 0.5263 | 0.4210 | 0.0000 | 0.0000 | 0.0526 | 0.0526 |
| last_10 | 0.20 | 10 | - | 36.000 | 13.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 0.3611 | 0.4250 | 0.4722 | 0.3611 | 0.0000 | 0.0278 | 0.1111 | 0.0556 |
| season | 0.60 | 78 | - | 303.000 | 84.000 | 8.000 | 4.000 | 0.000 | 16.000 | 34.000 | 17.000 | 33.000 | 0.2772 | 0.3137 | 0.3300 | 0.2772 | 0.0000 | 0.0528 | 0.0561 | 0.1089 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2210 |
| predicted_3B | 0.0290 |
| predicted_AB | 3.8100 |
| predicted_AVG | 0.3164 |
| predicted_BB | 0.2540 |
| predicted_H | 1.2050 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0110 |
| predicted_OBP | 0.3584 |
| predicted_R | 0.4090 |
| predicted_RBI | 0.1710 |
| predicted_SLG | 0.3987 |
| predicted_SO | 0.3760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.2210 | 0.1532 | model_form_blend |
| predicted_3B | 0.0510 | 0.0290 | 0.0416 | model_form_blend |
| predicted_AB | 3.8850 | 3.8100 | 3.8531 | model_form_blend |
| predicted_AVG | 0.2590 | 0.3164 | 0.2834 | model_form_blend |
| predicted_BB | 0.2180 | 0.2540 | 0.2333 | model_form_blend |
| predicted_H | 0.4000 | 1.2050 | 0.7422 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0200 | 0.0110 | 0.0162 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3584 | 0.3334 | model_form_blend |
| predicted_R | 0.4360 | 0.4090 | 0.4245 | model_form_blend |
| predicted_RBI | 0.1200 | 0.1710 | 0.1417 | model_form_blend |
| predicted_SLG | 0.3680 | 0.3987 | 0.3810 | model_form_blend |
| predicted_SO | 0.4230 | 0.3760 | 0.4030 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.277 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | LF |
| gameID | 20260705_TB@HOU |
| game_type | full |
| mlbID | 802415 |
| playerID | 802415 |
| playerName | Chandler Simpson |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-05 |
| sl_k_percent | 10.1 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.288 |
| sl_xwoba | 0.26 |
| sl_xba | 0.25 |
| sl_xslg | 0.286 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 14.2 |
| sl_exit_velocity_avg | 84.1 |
| sl_launch_angle_avg | 1.6 |
| sl_whiff_percent | 10.9 |
| sl_swing_percent | 46.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 2.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | 1.846 | 2.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 3.154 | 3.000 | 3.000 | Hitting_AB | 3.234 | 4.000 | -0.234 | -1.000 |
| predicted_AVG | 0.258 | 0.667 | 0.333 | Hitting_AVG | 0.210 | 0.250 | 0.456 | 0.417 |
| predicted_BB | 0.462 | 1.000 | 0.000 | Hitting_BB | 0.451 | 1.000 | 0.549 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.680 | 2.000 | 1.000 | Hitting_H | 0.680 | 1.000 | 1.320 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.336 | 0.750 | 0.333 | Hitting_OBP | 0.311 | 0.400 | 0.439 | 0.350 |
| predicted_R | 0.508 | 1.000 | 1.000 | Hitting_R | 0.520 | 1.000 | 0.480 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.343 | 0.000 | -0.343 | 0.000 |
| predicted_SLG | 0.347 | 1.333 | 0.333 | Hitting_SLG | 0.286 | 0.250 | 1.047 | 1.083 |
| predicted_SO | 0.892 | 0.000 | 1.000 | Hitting_SO | 0.983 | 1.000 | -0.983 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.1690 -> 2.0000 (boost 1.8310, better) |
| Biggest Deboost | predicted_SO: 0.8920 -> 0.0000 (deboost -0.8920, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.6800 -> 0.7409 (boost 0.0609, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2549 -> 0.2336 (deboost -0.0213, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7506 -> 1.0000 (boost 0.2494, better) | predicted_BB: 0.4844 -> 0.0000 (deboost -0.4844, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.234 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5660 -> 1.0000 (boost 0.4340, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2336 -> 0.3330 (boost 0.0994, 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_2B: 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.3330 -> 0.2336 (deboost -0.0994, 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.169,
"predicted_3B": 0.031,
"predicted_AB": 3.154,
"predicted_AVG": 0.258,
"predicted_BB": 0.462,
"predicted_H": 0.68,
"predicted_HR": 0.04,
"predicted_OBP": 0.336,
"predicted_R": 0.508,
"predicted_RBI": 0.3,
"predicted_SLG": 0.347,
"predicted_SO": 0.892
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1961,
"predicted_3B": 0.026,
"predicted_AB": 3.2133,
"predicted_AVG": 0.2549,
"predicted_BB": 0.482,
"predicted_H": 0.7409,
"predicted_HBP": 0.02,
"predicted_HR": 0.0287,
"predicted_OBP": 0.3426,
"predicted_R": 0.551,
"predicted_RBI": 0.3096,
"predicted_SLG": 0.346,
"predicted_SO": 0.849
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1961,
"delta": 0.0271,
"percent_delta": 0.1604,
"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.154,
"after": 3.2133,
"delta": 0.0593,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2549,
"delta": -0.0031,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.462,
"after": 0.482,
"delta": 0.02,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.7409,
"delta": 0.0609,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0287,
"delta": -0.0113,
"percent_delta": -0.2825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3426,
"delta": 0.0066,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 0.551,
"delta": 0.043,
"percent_delta": 0.0846,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3096,
"delta": 0.0096,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.346,
"delta": -0.001,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 0.849,
"delta": -0.043,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.68,
"after": 0.7409,
"delta": 0.0609,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1961,
"predicted_3B": 0.026,
"predicted_AB": 3.2133,
"predicted_AVG": 0.2336,
"predicted_BB": 0.4844,
"predicted_H": 0.7506,
"predicted_HBP": 0.02,
"predicted_HR": 0.0284,
"predicted_OBP": 0.334,
"predicted_R": 0.566,
"predicted_RBI": 0.318,
"predicted_SLG": 0.3373,
"predicted_SO": 0.8448
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1961,
"after": 0.1961,
"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.2133,
"after": 3.2133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2549,
"after": 0.2336,
"delta": -0.0213,
"percent_delta": -0.0836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.482,
"after": 0.4844,
"delta": 0.0024,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7409,
"after": 0.7506,
"delta": 0.0097,
"percent_delta": 0.0131,
"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.0287,
"after": 0.0284,
"delta": -0.0003,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3426,
"after": 0.334,
"delta": -0.0086,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.551,
"after": 0.566,
"delta": 0.015,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3096,
"after": 0.318,
"delta": 0.0084,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.3373,
"delta": -0.0087,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.849,
"after": 0.8448,
"delta": -0.0042,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2549,
"after": 0.2336,
"delta": -0.0213,
"percent_delta": -0.0836,
"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.234 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1961,
"after": 0.0,
"delta": -0.1961,
"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.2133,
"after": 3.0,
"delta": -0.2133,
"percent_delta": -0.0664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4844,
"after": 0.0,
"delta": -0.4844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7506,
"after": 1.0,
"delta": 0.2494,
"percent_delta": 0.3323,
"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.0284,
"after": 0.0,
"delta": -0.0284,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.318,
"after": 0.0,
"delta": -0.318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8448,
"after": 1.0,
"delta": 0.1552,
"percent_delta": 0.1837,
"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.7506,
"after": 1.0,
"delta": 0.2494,
"percent_delta": 0.3323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4844,
"after": 0.0,
"delta": -0.4844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"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.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2336,
"after": 0.333,
"delta": 0.0994,
"percent_delta": 0.4255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.333,
"delta": -0.001,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3373,
"after": 0.333,
"delta": -0.0043,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2336,
"after": 0.333,
"delta": 0.0994,
"percent_delta": 0.4255,
"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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 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": 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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2336,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.334,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3373,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2336,
"delta": -0.0994,
"percent_delta": -0.2985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.334,
"delta": 0.001,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3373,
"delta": 0.0043,
"percent_delta": 0.013,
"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_AVG",
"before": 0.333,
"after": 0.2336,
"delta": -0.0994,
"percent_delta": -0.2985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 2.0,
"delta": 1.831,
"percent_delta": 10.8343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.154,
"after": 3.0,
"delta": -0.154,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2336,
"delta": -0.0244,
"percent_delta": -0.0946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.462,
"after": 1.0,
"delta": 0.538,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.334,
"delta": -0.002,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3373,
"delta": -0.0097,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.892,
"after": 0.0,
"delta": -0.892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.169,
"after": 2.0,
"delta": 1.831,
"percent_delta": 10.8343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.892,
"after": 0.0,
"delta": -0.892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.154 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.462 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.508 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.892 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.027 |
| predicted_3B | 0.026 | -0.005 |
| predicted_AB | 3.213 | 0.059 |
| predicted_AVG | 0.255 | -0.003 |
| predicted_BB | 0.482 | 0.020 |
| predicted_H | 0.741 | 0.061 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.029 | -0.011 |
| predicted_OBP | 0.343 | 0.007 |
| predicted_R | 0.551 | 0.043 |
| predicted_RBI | 0.310 | 0.010 |
| predicted_SLG | 0.346 | -0.001 |
| predicted_SO | 0.849 | -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.196 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 3.213 | 0.000 |
| predicted_AVG | 0.234 | -0.021 |
| predicted_BB | 0.484 | 0.002 |
| predicted_H | 0.751 | 0.010 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.028 | -0.000 |
| predicted_OBP | 0.334 | -0.009 |
| predicted_R | 0.566 | 0.015 |
| predicted_RBI | 0.318 | 0.008 |
| predicted_SLG | 0.337 | -0.009 |
| predicted_SO | 0.845 | -0.004 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.234 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.196 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 3.000 | -0.213 |
| predicted_AVG | 0.333 | 0.099 |
| predicted_BB | 0.000 | -0.484 |
| predicted_H | 1.000 | 0.249 |
| predicted_HR | 0.000 | -0.028 |
| predicted_OBP | 0.333 | -0.001 |
| predicted_R | 1.000 | 0.434 |
| predicted_RBI | 0.000 | -0.318 |
| predicted_SLG | 0.333 | -0.004 |
| predicted_SO | 1.000 | 0.155 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 2.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 3.000 | 0.2941 | 0.4286 | 0.4118 | 0.2941 | 0.0000 | 0.1177 | 0.2353 | 0.1765 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 3.000 | 0.000 | 0.000 | 2.000 | 8.000 | 5.000 | 6.000 | 0.2727 | 0.3684 | 0.3636 | 0.2727 | 0.0000 | 0.0606 | 0.1515 | 0.1818 |
| season | 0.60 | 65 | - | 205.000 | 47.000 | 11.000 | 2.000 | 0.000 | 20.000 | 33.000 | 30.000 | 58.000 | 0.2293 | 0.3305 | 0.3024 | 0.2293 | 0.0000 | 0.0976 | 0.1463 | 0.2829 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2340 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.2960 |
| predicted_AVG | 0.2506 |
| predicted_BB | 0.5100 |
| predicted_H | 0.8260 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0130 |
| predicted_OBP | 0.3519 |
| predicted_R | 0.6110 |
| predicted_RBI | 0.3230 |
| predicted_SLG | 0.3446 |
| predicted_SO | 0.7890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.2340 | 0.1961 | model_form_blend |
| predicted_3B | 0.0310 | 0.0190 | 0.0260 | model_form_blend |
| predicted_AB | 3.1540 | 3.2960 | 3.2133 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2506 | 0.2549 | model_form_blend |
| predicted_BB | 0.4620 | 0.5100 | 0.4820 | model_form_blend |
| predicted_H | 0.6800 | 0.8260 | 0.7409 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0400 | 0.0130 | 0.0287 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3519 | 0.3426 | model_form_blend |
| predicted_R | 0.5080 | 0.6110 | 0.5510 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3230 | 0.3096 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3446 | 0.3460 | model_form_blend |
| predicted_SO | 0.8920 | 0.7890 | 0.8490 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260704_TB@HOU |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-04 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.292 |
| sl_xwoba | 0.268 |
| sl_xba | 0.197 |
| sl_xslg | 0.272 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 22.1 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 42.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 0.870 | 0.000 | 3.130 | 4.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.000 | 3.000 | -1.000 | -3.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 2.435 | 5.000 | 0.565 | -2.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 2.487 | 6.000 | 2.713 | -0.800 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.522 | 5.000 | 1.478 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 2.0000 -> 4.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 2.0000 -> 5.0000 (boost 3.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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "643377",
"player_name": "Griffin Jax",
"position": "Starter",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.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": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 2.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 5.000 | 3.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 26.000 | 5.000 | 22.000 | 4.000 | 26.000 | 4.000 | 1.7308 | 1.0000 | 0.1923 | 0.8461 | 0.1538 | 1.0000 | 0.1538 |
| last_10 | 0.35 | 10 | 46.000 | 15.000 | 44.000 | 11.000 | 44.000 | 8.000 | 2.9348 | 1.1957 | 0.3261 | 0.9565 | 0.2391 | 0.9565 | 0.1739 |
| season | 0.20 | 22 | 60.000 | 20.000 | 53.000 | 19.000 | 58.000 | 11.000 | 3.0000 | 1.2000 | 0.3333 | 0.8833 | 0.3167 | 0.9667 | 0.1833 |
| Metric | Value |
|---|---|
| predicted_BB | 1.2620 |
| predicted_ER | 1.6510 |
| predicted_ERA | 3.0365 |
| predicted_H | 4.4770 |
| predicted_HR | 0.7900 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.7500 |
| predicted_WHIP | 1.1731 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.2620 | 2.5626 | model_form_blend |
| predicted_ER | 0.0000 | 1.6510 | 0.8667 | model_form_blend |
| predicted_ERA | - | 3.0365 | 3.0365 | form_only |
| predicted_H | 3.0000 | 4.4770 | 3.7754 | model_form_blend |
| predicted_HR | 0.0000 | 0.7900 | 0.4147 | model_form_blend |
| predicted_IP | 5.2000 | 5.0000 | 5.1000 | model_form_blend |
| predicted_SO | 2.0000 | 4.7500 | 3.4437 | model_form_blend |
| predicted_WHIP | - | 1.1731 | 1.1731 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.2 |
| H | 3 |
| R | 0 |
| ER | 0 |
| BB | 4 |
| SO | 4 |
| HR | 0 |
| BF | 24 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.45 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 5 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 71 |
| Pitching_R | 3 |
| Pitching_SO | 5 |
| Pitching_Strikes | 50 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260630_TB@KC |
| game_type | full |
| mlbID | 643377 |
| playerID | 643377 |
| playerName | Griffin Jax |
| pos | P |
| started | True |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-30 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.324 |
| sl_xwoba | 0.354 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 48.0 |
| sl_avg_best_speed | 77.403253614 |
| sl_avg_hyper_speed | 94.426777771 |
| 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.184 | 0.000 | -0.184 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.289 | 0.000 | 1.711 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.763 | 0.000 | 2.237 | 3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.913 | 1.200 | 0.187 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.789 | 0.000 | -0.789 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687330",
"player_name": "Kevin Kelly",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 1.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 1.000 | 4.000 | 0.000 | 2.000 | 1.000 | 1.4211 | 0.6316 | 0.1579 | 0.6316 | 0.0000 | 0.3158 | 0.1579 |
| last_10 | 0.35 | 10 | 12.100 | 3.000 | 10.000 | 1.000 | 8.000 | 2.000 | 2.1892 | 0.8919 | 0.2432 | 0.8108 | 0.0811 | 0.6486 | 0.1622 |
| season | 0.20 | 38 | 41.000 | 11.000 | 29.000 | 7.000 | 30.000 | 4.000 | 2.4146 | 0.8780 | 0.2683 | 0.7073 | 0.1707 | 0.7317 | 0.0976 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2260 |
| predicted_ER | 0.4160 |
| predicted_ERA | 2.8970 |
| predicted_H | 1.0450 |
| predicted_HR | 0.1910 |
| predicted_IP | 1.1000 |
| predicted_SO | 0.8820 |
| predicted_WHIP | 0.9833 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2260 | 0.1105 | model_form_blend |
| predicted_ER | 2.0000 | 0.4160 | 1.2252 | model_form_blend |
| predicted_ERA | - | 2.8970 | 2.8970 | form_only |
| predicted_H | 3.0000 | 1.0450 | 2.0438 | model_form_blend |
| predicted_HR | 1.0000 | 0.1910 | 0.6043 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8820 | 0.4314 | model_form_blend |
| predicted_WHIP | - | 0.9833 | 0.9833 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 7 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.41 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 4 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260703_TB@HOU |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-03 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.246 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 47.8 |
| sl_whiff_percent | 17.8 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 78.608671228 |
| sl_avg_hyper_speed | 95.234930531 |
| 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.306 | 0.000 | 0.694 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.928 | 1.000 | 0.072 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.028 | 1.000 | -1.028 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641329",
"player_name": "Bryan Baker",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 1.000 | 0.000 | 4.000 | 1.000 | 1.8000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 2.000 | 0.000 | 8.000 | 1.000 | 0.9000 | 0.2000 | 0.1000 | 0.2000 | 0.0000 | 0.8000 | 0.1000 |
| season | 0.20 | 36 | 34.100 | 7.000 | 17.000 | 11.000 | 37.000 | 2.000 | 1.8350 | 0.8155 | 0.2039 | 0.4951 | 0.3204 | 1.0777 | 0.0583 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1880 |
| predicted_ER | 0.3090 |
| predicted_ERA | 2.7811 |
| predicted_H | 0.5600 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8970 |
| predicted_WHIP | 0.7481 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1880 | 0.6175 | model_form_blend |
| predicted_ER | 0.0000 | 0.3090 | 0.1456 | model_form_blend |
| predicted_ERA | - | 2.7811 | 2.7811 | form_only |
| predicted_H | 0.0000 | 0.5600 | 0.2638 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0669 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8970 | 0.4226 | model_form_blend |
| predicted_WHIP | - | 0.7481 | 0.7481 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 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 | 1.83 |
| Pitching_Flyouts | 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 | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260703_TB@HOU |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-03 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.213 |
| sl_xwoba | 0.25 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 51.9 |
| sl_avg_best_speed | 74.616352143 |
| sl_avg_hyper_speed | 92.859383494 |
| 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.393 | 0.000 | -0.393 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.750 | 1.000 | -0.750 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.789 | 0.200 | 0.211 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.143 | 1.000 | -1.143 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "664076",
"player_name": "Garrett Cleavinger",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 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 | 4.100 | 1.000 | 5.000 | 1.000 | 4.000 | 1.000 | 2.0769 | 1.3846 | 0.2308 | 1.1539 | 0.2308 | 0.9231 | 0.2308 |
| last_10 | 0.35 | 10 | 9.000 | 1.000 | 6.000 | 2.000 | 10.000 | 1.000 | 1.0000 | 0.8889 | 0.1111 | 0.6667 | 0.2222 | 1.1111 | 0.1111 |
| season | 0.20 | 28 | 24.200 | 11.000 | 21.000 | 11.000 | 32.000 | 3.000 | 4.0135 | 1.2973 | 0.4460 | 0.8514 | 0.4460 | 1.2973 | 0.1216 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3140 |
| predicted_ER | 0.3690 |
| predicted_ERA | 3.3254 |
| predicted_H | 0.9470 |
| predicted_HR | 0.1580 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0080 |
| predicted_WHIP | 1.2610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3140 | 0.1370 | model_form_blend |
| predicted_ER | 0.0000 | 0.3690 | 0.1610 | model_form_blend |
| predicted_ERA | - | 3.3254 | 3.3254 | form_only |
| predicted_H | 0.0000 | 0.9470 | 0.4133 | model_form_blend |
| predicted_HR | 0.0000 | 0.1580 | 0.0690 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0080 | 1.5671 | model_form_blend |
| predicted_WHIP | - | 1.2610 | 1.2610 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 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 | 4.01 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260704_TB@HOU |
| game_type | full |
| mlbID | 664076 |
| playerID | 664076 |
| playerName | Garrett Cleavinger |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-04 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.308 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 41.7 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 46.2 |
| sl_avg_best_speed | 72.55712069 |
| sl_avg_hyper_speed | 93.832678103 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | PHI 5 - 1 KC | PHI | 0.660 | scoring_simulation.final_score | True |
| Simulation draw | PHI 5 - 1 KC | 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.6000 |
| 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.203 | 4.326 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 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 | 5 | 1 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46891204178823537,
"base_low_score_probability": 0.42006920415224913,
"low_score_signal_threshold": 0.5000692041522491,
"low_score_signal_strength": 0.048842837635986236,
"confidence": 0.658136656,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.1,
"team_form": 0.94,
"situational": 1.0,
"combined": 1.1162733120000001
},
"prediction": "normal_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 6,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 117,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 117,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5556,
"bayesian_hit_rate": 0.5481,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8667,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8613,
"calibrated_pick_probability": 0.6561,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "KC",
"games": 90,
"wins": 36,
"losses": 54,
"win_pct": 0.4,
"runs_scored": 369,
"runs_allowed": 454,
"run_differential": -85,
"run_differential_per_game": -0.9444444444444444,
"available": true
},
"away": {
"team": "PHI",
"games": 90,
"wins": 50,
"losses": 40,
"win_pct": 0.5555555555555556,
"runs_scored": 402,
"runs_allowed": 395,
"run_differential": 7,
"run_differential_per_game": 0.07777777777777778,
"available": true
},
"run_differential_edge_per_game": -1.0222,
"win_pct_edge": -0.1556,
"quality_edge": -1.2556,
"margin_adjustment": -0.5273,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 8.268,
"home_runs": 0.46,
"home_win_probability": 0.08
}
}{
"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": "KC",
"final_score_winner": "PHI",
"pre_simulation_winner": "PHI",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "PHI 5 - 1 KC",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "PHI 5 - 1 KC",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"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": 4,
"winner_quality_edge": 1.2556,
"winner": "PHI",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "KC",
"games": 90,
"wins": 36,
"losses": 54,
"win_pct": 0.4,
"runs_scored": 369,
"runs_allowed": 454,
"run_differential": -85,
"run_differential_per_game": -0.9444444444444444,
"available": true
},
"away": {
"team": "PHI",
"games": 90,
"wins": 50,
"losses": 40,
"win_pct": 0.5555555555555556,
"runs_scored": 402,
"runs_allowed": 395,
"run_differential": 7,
"run_differential_per_game": 0.07777777777777778,
"available": true
}
}
}{
"applied": true,
"raw_margin": -7.8088,
"final_margin": -4.25,
"margin_cap": 4.25,
"season_quality_edge": 1.2556,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 6.489,
"home_runs": 2.239
}
}{
"applied": false,
"raw_confidence": 0.65605,
"final_confidence": 0.65605,
"confidence_cap": 0.66,
"score_gap": 4.25,
"calibration_sample_size": 117,
"calibration_empirical_hit_rate": 0.5556,
"calibration_bayesian_hit_rate": 0.5481,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.2556,
"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": "PHI 5 - 1 KC",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "PHI 5 - 1 KC",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"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": 4,
"winner_quality_edge": 1.2556,
"winner": "PHI",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 1,
"confidence": 0.66,
"home_win_probability": 0.33999999999999997,
"away_win_probability": 0.66,
"predicted_score_text": "PHI 5 - 1 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": "PHI",
"original_runs": 5,
"run_delta": 0.4957,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.2972602096753802,
"contact": 0.319693551674444,
"power": 0.4502829950650868,
"discipline": -0.16668125643434148,
"xwoba": 0.3291470588235294,
"recent_xwoba": 0.3291470588235294,
"barrel": 9.276470588235293,
"ab_hard_contact": 0.31281956516728604,
"ab_bat_speed": 70.88240122178519,
"ab_strikeout_rate": 0.2169382592354618,
"available_players": 9,
"top_players": [
{
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"weight": 4.0,
"quality": 1.1491649913746547,
"contact": 0.9302138909921708,
"power": 1.9890946322199239,
"discipline": 0.0065915750915748195,
"xwoba": 0.384,
"recent_xwoba": 0.384,
"barrel": 19.3,
"ab_hard_contact": 0.7276069301127652,
"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.2392486024435527,
"contact": 1.3489641903500893,
"power": 1.3708675523943579,
"discipline": 0.6185643905360885,
"xwoba": 0.403,
"recent_xwoba": 0.403,
"barrel": 12.1,
"ab_hard_contact": 1.5365891431252465,
"ab_bat_speed": 72.87975995807128,
"ab_strikeout_rate": 0.18731656184486373,
"available": 1.0
},
{
"player_id": "669016",
"player_name": "Brandon Marsh",
"position": "RF",
"weight": 4.0,
"quality": 0.2847247040563284,
"contact": 0.49238038553192837,
"power": 0.6555574209869082,
"discipline": -0.6527653061224491,
"xwoba": 0.327,
"recent_xwoba": 0.327,
"barrel": 10.0,
"ab_hard_contact": 0.3298150864048237,
"ab_bat_speed": 70.35567857142857,
"ab_strikeout_rate": 0.2370748299319728,
"available": 1.0
},
{
"player_id": "607208",
"player_name": "Trea Turner",
"position": "SS",
"weight": 5.0,
"quality": -0.31954623869074994,
"contact": -0.36357703757925824,
"power": -0.2901917471545826,
"discipline": -0.46103785103785105,
"xwoba": 0.282,
"recent_xwoba": 0.282,
"barrel": 5.8,
"ab_hard_contact": 0.053688866432163605,
"ab_bat_speed": 70.81053472222222,
"ab_strikeout_rate": 0.21591880341880343,
"available": 1.0
},
{
"player_id": "624641",
"player_name": "Edmundo Sosa",
"position": "LF",
"weight": 3.0,
"quality": 0.12242219234768927,
"contact": 0.4485170229602979,
"power": 0.33756810916067725,
"discipline": -0.8426198686371101,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 7.6,
"ab_hard_contact": -0.09739972154834194,
"ab_bat_speed": 71.75108100711549,
"ab_strikeout_rate": 0.21264367816091956,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "702070",
"player_name": "Noah Cameron",
"quality": -0.4297681525111811,
"contact": -0.6774640302379762,
"command": -0.1351428571428571,
"movement": -0.6995968307752465,
"xwoba": 0.34,
"whiff": 23.3,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "KC",
"original_runs": 1,
"run_delta": -0.2251,
"adjusted_runs": 1,
"lineup": {
"players_used": 8,
"total_weight": 27.0,
"quality": 0.3036915102923539,
"contact": 0.11471339440405058,
"power": 0.19339085290266353,
"discipline": -0.058171993408828955,
"xwoba": 0.3141851851851852,
"recent_xwoba": 0.3141851851851852,
"barrel": 9.037037037037036,
"ab_hard_contact": -0.11329052572097836,
"ab_bat_speed": 71.18281624325908,
"ab_strikeout_rate": 0.2182037394405749,
"available_players": 7,
"top_players": [
{
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "DH",
"weight": 4.0,
"quality": 1.476048052562887,
"contact": 1.7807121321823076,
"power": 1.525749124726023,
"discipline": 0.44390917107583777,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 12.5,
"ab_hard_contact": 1.6460301135680866,
"ab_bat_speed": 72.66099828532236,
"ab_strikeout_rate": 0.1765432098765432,
"available": 1.0
},
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"weight": 4.0,
"quality": 0.8740305587221465,
"contact": 1.1127451545864886,
"power": 1.6803720370670656,
"discipline": -0.5623134110787171,
"xwoba": 0.365,
"recent_xwoba": 0.365,
"barrel": 15.5,
"ab_hard_contact": 0.5030597889603635,
"ab_bat_speed": 75.02057823129252,
"ab_strikeout_rate": 0.3144800777453839,
"available": 1.0
},
{
"player_id": "686475",
"player_name": "Tyler Tolbert",
"position": "SS",
"weight": 3.0,
"quality": -0.01341621575102727,
"contact": -0.31875243516778046,
"power": -1.0404523639509802,
"discipline": -0.10140476190476196,
"xwoba": 0.311,
"recent_xwoba": 0.311,
"barrel": 3.4,
"ab_hard_contact": -0.9218091837815118,
"ab_bat_speed": 69.22999999999999,
"ab_strikeout_rate": 0.2,
"available": 1.0
},
{
"player_id": "668942",
"player_name": "Josh Rojas",
"position": "3B",
"weight": 3.0,
"quality": -0.0,
"contact": -1.529885714285714,
"power": -0.8324000000000001,
"discipline": -0.5945714285714288,
"xwoba": 0.202,
"recent_xwoba": 0.202,
"barrel": 6.3,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.221,
"available": 0.0
},
{
"player_id": "657041",
"player_name": "Lane Thomas",
"position": "CF",
"weight": 3.0,
"quality": -0.06343885179852773,
"contact": -0.07282391598788653,
"power": -0.5418471514289347,
"discipline": 0.7353915343915344,
"xwoba": 0.312,
"recent_xwoba": 0.312,
"barrel": 3.9,
"ab_hard_contact": 0.3481998285641679,
"ab_bat_speed": 70.60215277777779,
"ab_strikeout_rate": 0.2037037037037037,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "650911",
"player_name": "Cristopher Sánchez",
"quality": 0.569880351685752,
"contact": 0.5381611671510713,
"command": 0.8014285714285716,
"movement": 0.4462790688418472,
"xwoba": 0.267,
"whiff": 32.2,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"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.2556,
"recent_form_edge_home_minus_away": -1.184,
"pitcher_matchup_edge_home_minus_away": -0.2724,
"composite_home_edge": -2.3059,
"existing_home_win_probability": 0.3439,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 2.3059
},
"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": "PHI 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": "PHI 5 - 1 KC",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "PHI 5 - 1 KC",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"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": 4,
"winner_quality_edge": 1.2556,
"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.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": 1.2556,
"winner_recent_form_edge": 1.184,
"winner_pitcher_matchup_edge": 0.2724,
"winner_simulation_draw_rate": 0.6667,
"blowout_draw_rate_margin_4_plus": 0.2667,
"high_total_draw_rate_11_plus": 0.2,
"low_total_draw_rate_6_or_less": 0.5333,
"total_runs_spread": {
"min": 1,
"median": 6,
"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 PHI | True | 1.0365 | 1.0365 | 1 | 9 | 0 |
| Home KC | True | 1.0202 | 1.0228 | 0.8889 | 8 | 1 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Alec Bohm | 529 | 1.0073 | 0.0974 | neutral | 0.3020 | 0.2470 | 0.3740 | 4.90 | 40.80 | 90.10 | 9.30 | 16.40 | 14.30 | 6.70 | 0.4000 |
| SS | Trea Turner | 433 | 0.9803 | -0.2624 | neutral | 0.2820 | 0.2370 | 0.3550 | 5.80 | 39.50 | 88.80 | 10.60 | 27.80 | 22.90 | 5.70 | -0.0571 |
| 1B | Bryce Harper | 54 | 1.1227 | 1.6358 | neutral | 0.4030 | 0.2890 | 0.5420 | 12.10 | 47.20 | 90.40 | 11.50 | 30.60 | 20.10 | 14.30 | 0.6286 |
| DH | Kyle Schwarber | 41 | 1.1198 | 1.5972 | neutral | 0.3840 | 0.2490 | 0.5310 | 19.30 | 53.90 | 93.50 | 20.90 | 34.70 | 34.10 | 14.60 | -0.4000 |
| LF | Edmundo Sosa | 353 | 1.0302 | 0.4024 | positive_batter_regression | 0.3410 | 0.2880 | 0.4710 | 7.60 | 40 | 87.10 | 9.30 | 26.50 | 22.10 | 2.10 | 1.8000 |
| RF | Brandon Marsh | 62 | 1.0362 | 0.4831 | negative_batter_regression | 0.3270 | 0.2760 | 0.4520 | 10 | 46.10 | 89.70 | 13.30 | 26 | 26.10 | 4.50 | -1.0857 |
| C | J.T. Realmuto | 239 | 1.0147 | 0.1962 | positive_batter_regression | 0.3170 | 0.2480 | 0.3860 | 5.50 | 38 | 89.20 | 12.30 | 24.90 | 20 | 7.70 | 1.1143 |
| 2B | Bryson Stott | 276 | 1.0225 | 0.2998 | neutral | 0.3190 | 0.2620 | 0.4070 | 7 | 38.80 | 89.10 | 15.60 | 17.60 | 17.30 | 7.10 | 0.3143 |
| CF | Derek Hill | 214 | 0.9949 | -0.0683 | neutral | 0.2890 | 0.2270 | 0.3740 | 11.30 | 34.70 | 89.70 | 14.50 | 36.40 | 35.20 | 6.40 | -0.6571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Jac Caglianone | 81 | 1.0895 | 1.1939 | neutral | 0.3650 | 0.2740 | 0.5100 | 15.50 | 57.70 | 93.80 | 7.90 | 30.80 | 29.70 | 7.90 | 0.6571 |
| CF | Lane Thomas | 395 | 1.0007 | 0.0096 | neutral | 0.3120 | 0.2400 | 0.3460 | 3.90 | 36.60 | 87.80 | 19.60 | 20.40 | 22.20 | 13 | 0.2857 |
| 1B | Salvador Perez | 586 | 0.9941 | -0.0787 | neutral | 0.2780 | 0.2210 | 0.3760 | 9 | 41 | 88.70 | 16.10 | 25.30 | 20.30 | 3.50 | 0.8286 |
| DH | Bobby Witt Jr. | 2 | 1.1360 | 1.8127 | positive_batter_regression | 0.3910 | 0.3100 | 0.5220 | 12.50 | 52.80 | 93.20 | 16.30 | 23.90 | 16.80 | 10.30 | 0.9143 |
| LF | Starling Marte | 326 | 1.0097 | 0.1294 | neutral | 0.3110 | 0.2460 | 0.3920 | 12.30 | 37 | 89.10 | 7.50 | 29.70 | 27.60 | 6.90 | 0.4000 |
| 2B | Nick Loftin | 289 | 1.0011 | 0.0147 | neutral | 0.3130 | 0.2380 | 0.3580 | 6.10 | 31.10 | 87.90 | 13.50 | 15 | 13.40 | 10.60 | 0.0857 |
| SS | Tyler Tolbert | 359 | 0.9989 | -0.0146 | positive_batter_regression | 0.3110 | 0.2560 | 0.3000 | 3.40 | 34.50 | 85.20 | 4.90 | 30.60 | 23.30 | 9.30 | 1.5429 |
| 3B | Josh Rojas | 367 | 0.9521 | -0.6383 | negative_batter_regression | 0.2020 | 0.1700 | 0.3040 | 6.30 | 37.50 | 85.30 | 18.90 | 18.90 | 20 | 0 | -1.4857 |
{
"home": {
"applied": true,
"offense_factor": 1.0202,
"raw_average_factor": 1.0228,
"team_espn_average_rank": 300.62,
"coverage_weight": 0.8889,
"covered_batters": 8,
"missing_batters": 1,
"players": [
{
"position": "RF",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.0895,
"quality_score": 1.1939,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 81,
"gp_value": 83.0,
"gp_rank": 96,
"ab_value": 287.0,
"ab_rank": 106,
"r_value": 39.0,
"r_rank": 103,
"h_value": 74.0,
"h_rank": 91,
"avg_value": 0.2578397,
"avg_rank": 72.0,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 14.0,
"hr_rank": 48,
"rbi_value": 31.0,
"rbi_rank": 148,
"tb_value": 132.0,
"tb_rank": 419,
"bb_value": 25.0,
"bb_rank": 133,
"so_value": 94.0,
"so_rank": 22,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.3249211,
"obp_rank": "88",
"slg_value": 0.4599303,
"slg_rank": "54",
"ops_value": 0.7848514,
"ops_rank": 34.0,
"war_value": 1.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 177.0,
"k_percent": 29.7,
"bb_percent": 7.9,
"woba": 0.342,
"xwoba": 0.365,
"xba": 0.274,
"xslg": 0.51,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 15.5,
"hard_hit_percent": 57.7,
"exit_velocity_avg": 93.8,
"launch_angle_avg": 7.9,
"whiff_percent": 30.8,
"swing_percent": 51.2
},
"components": {
"expected_quality": 1.6186,
"regression_edge": 0.6571,
"xwoba_edge": 1.8,
"xba_edge": 1.0,
"xslg_edge": 1.9643,
"barrel_edge": 1.8889,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.0,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "657041",
"player_name": "Lane Thomas",
"offense_factor": 1.0007,
"quality_score": 0.0096,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657041",
"espn_id": 36409,
"player_name": "Lane Thomas",
"team": "KC",
"role": "batter",
"espn_rank": 395,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 395,
"gp_value": 75.0,
"gp_rank": 154,
"ab_value": 204.0,
"ab_rank": 205,
"r_value": 23.0,
"r_rank": 219,
"h_value": 44.0,
"h_rank": 224,
"avg_value": 0.2156862,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 24.0,
"rbi_rank": 213,
"tb_value": 70.0,
"tb_rank": 1475,
"bb_value": 31.0,
"bb_rank": 81,
"so_value": 53.0,
"so_rank": 165,
"sb_value": 4.0,
"sb_rank": 146,
"obp_value": 0.3221757,
"obp_rank": "-",
"slg_value": 0.3431372,
"slg_rank": "-",
"ops_value": 0.6653129,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 22.2,
"bb_percent": 13.0,
"woba": 0.302,
"xwoba": 0.312,
"xba": 0.24,
"xslg": 0.346,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 36.6,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 19.6,
"whiff_percent": 20.4,
"swing_percent": 41.1
},
"components": {
"expected_quality": -0.0248,
"regression_edge": 0.2857,
"xwoba_edge": 0.2857,
"xba_edge": 0.0286,
"xslg_edge": -0.3786,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.2357,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "521692",
"player_name": "Salvador Perez",
"offense_factor": 0.9941,
"quality_score": -0.0787,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "521692",
"espn_id": 31127,
"player_name": "Salvador Perez",
"team": "KC",
"role": "batter",
"espn_rank": 586,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 586,
"gp_value": 82.0,
"gp_rank": 108,
"ab_value": 322.0,
"ab_rank": 52,
"r_value": 29.0,
"r_rank": 178,
"h_value": 65.0,
"h_rank": 125,
"avg_value": 0.2018633,
"avg_rank": 156.0,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 32.0,
"rbi_rank": 142,
"tb_value": 106.0,
"tb_rank": 1019,
"bb_value": 12.0,
"bb_rank": 285,
"so_value": 70.0,
"so_rank": 90,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.241279,
"obp_rank": "160",
"slg_value": 0.3291925,
"slg_rank": "154",
"ops_value": 0.5704715,
"ops_rank": 6.0,
"war_value": -0.96,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 218.0,
"k_percent": 20.3,
"bb_percent": 3.5,
"woba": 0.249,
"xwoba": 0.278,
"xba": 0.221,
"xslg": 0.376,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 16.1,
"whiff_percent": 25.3,
"swing_percent": 57.2
},
"components": {
"expected_quality": -0.2273,
"regression_edge": 0.8286,
"xwoba_edge": -0.6857,
"xba_edge": -0.5143,
"xslg_edge": 0.05,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.3929,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"offense_factor": 1.136,
"quality_score": 1.8127,
"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": 593,
"metrics": {
"espn_rank": 2,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 328.0,
"ab_rank": 37,
"r_value": 46.0,
"r_rank": 53,
"h_value": 95.0,
"h_rank": 15,
"avg_value": 0.2896341,
"avg_rank": 21.0,
"2b_value": 20.0,
"2b_rank": 15,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 12.0,
"hr_rank": 80,
"rbi_value": 36.0,
"rbi_rank": 109,
"tb_value": 153.0,
"tb_rank": 456,
"bb_value": 38.0,
"bb_rank": 45,
"so_value": 62.0,
"so_rank": 129,
"sb_value": 30.0,
"sb_rank": 2,
"obp_value": 0.3621621,
"obp_rank": "34",
"slg_value": 0.4664634,
"slg_rank": "47",
"ops_value": 0.8286255,
"ops_rank": 81.0,
"war_value": 4.65,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 16.8,
"bb_percent": 10.3,
"woba": 0.359,
"xwoba": 0.391,
"xba": 0.31,
"xslg": 0.522,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 52.8,
"exit_velocity_avg": 93.2,
"launch_angle_avg": 16.3,
"whiff_percent": 23.9,
"swing_percent": 47.7
},
"components": {
"expected_quality": 1.959,
"regression_edge": 0.9143,
"xwoba_edge": 2.5,
"xba_edge": 2.0286,
"xslg_edge": 2.1357,
"barrel_edge": 1.2222,
"hard_hit_edge": 2.0786,
"exit_velocity_edge": 1.76,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "516782",
"player_name": "Starling Marte",
"offense_factor": 1.0097,
"quality_score": 0.1294,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "516782",
"espn_id": 30830,
"player_name": "Starling Marte",
"team": "KC",
"role": "batter",
"espn_rank": 326,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 326,
"gp_value": 41.0,
"gp_rank": 332,
"ab_value": 103.0,
"ab_rank": 355,
"r_value": 11.0,
"r_rank": 361,
"h_value": 27.0,
"h_rank": 321,
"avg_value": 0.2621359,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 340,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 7.0,
"rbi_rank": 399,
"tb_value": 34.0,
"tb_rank": 2283,
"bb_value": 8.0,
"bb_rank": 359,
"so_value": 32.0,
"so_rank": 298,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3275862,
"obp_rank": "-",
"slg_value": 0.330097,
"slg_rank": "-",
"ops_value": 0.6576832,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 54.0,
"k_percent": 27.6,
"bb_percent": 6.9,
"woba": 0.297,
"xwoba": 0.311,
"xba": 0.246,
"xslg": 0.392,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 37.0,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 7.5,
"whiff_percent": 29.7,
"swing_percent": 50.8
},
"components": {
"expected_quality": 0.2692,
"regression_edge": 0.4,
"xwoba_edge": 0.2571,
"xba_edge": 0.2,
"xslg_edge": 0.2786,
"barrel_edge": 1.1778,
"hard_hit_edge": -0.1786,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "679845",
"player_name": "Nick Loftin",
"offense_factor": 1.0011,
"quality_score": 0.0147,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679845",
"espn_id": 4314013,
"player_name": "Nick Loftin",
"team": "KC",
"role": "batter",
"espn_rank": 289,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 289,
"gp_value": 53.0,
"gp_rank": 275,
"ab_value": 152.0,
"ab_rank": 274,
"r_value": 21.0,
"r_rank": 240,
"h_value": 34.0,
"h_rank": 280,
"avg_value": 0.2236842,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 25.0,
"rbi_rank": 202,
"tb_value": 57.0,
"tb_rank": 1457,
"bb_value": 19.0,
"bb_rank": 195,
"so_value": 24.0,
"so_rank": 363,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.3202247,
"obp_rank": "-",
"slg_value": 0.375,
"slg_rank": "-",
"ops_value": 0.6952247,
"ops_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 66.0,
"k_percent": 13.4,
"bb_percent": 10.6,
"woba": 0.31,
"xwoba": 0.313,
"xba": 0.238,
"xslg": 0.358,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 13.5,
"whiff_percent": 15.0,
"swing_percent": 40.4
},
"components": {
"expected_quality": 0.024,
"regression_edge": 0.0857,
"xwoba_edge": 0.3143,
"xba_edge": -0.0286,
"xslg_edge": -0.2071,
"barrel_edge": -0.2,
"hard_hit_edge": -1.0214,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "686475",
"player_name": "Tyler Tolbert",
"offense_factor": 0.9989,
"quality_score": -0.0146,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686475",
"espn_id": 4151063,
"player_name": "Tyler Tolbert",
"team": "KC",
"role": "batter",
"espn_rank": 359,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 359,
"gp_value": 28.0,
"gp_rank": 395,
"ab_value": 37.0,
"ab_rank": 475,
"r_value": 10.0,
"r_rank": 375,
"h_value": 9.0,
"h_rank": 449,
"avg_value": 0.2432432,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 513,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 0.0,
"hr_rank": 470,
"rbi_value": 1.0,
"rbi_rank": 520,
"tb_value": 9.0,
"tb_rank": 2818,
"bb_value": 4.0,
"bb_rank": 429,
"so_value": 10.0,
"so_rank": 476,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.3095238,
"obp_rank": "-",
"slg_value": 0.2432432,
"slg_rank": "-",
"ops_value": 0.552767,
"ops_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 6.0,
"k_percent": 23.3,
"bb_percent": 9.3,
"woba": 0.257,
"xwoba": 0.311,
"xba": 0.256,
"xslg": 0.3,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 4.9,
"whiff_percent": 30.6,
"swing_percent": 55.9
},
"components": {
"expected_quality": -0.289,
"regression_edge": 1.5429,
"xwoba_edge": 0.2571,
"xba_edge": 0.4857,
"xslg_edge": -1.0357,
"barrel_edge": -0.8,
"hard_hit_edge": -0.5357,
"exit_velocity_edge": -1.44,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "668942",
"player_name": "Josh Rojas",
"offense_factor": 0.9521,
"quality_score": -0.6383,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668942",
"espn_id": 40718,
"player_name": "Josh Rojas",
"team": "KC",
"role": "batter",
"espn_rank": 367,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 367,
"gp_value": 10.0,
"gp_rank": 515,
"ab_value": 20.0,
"ab_rank": 521,
"r_value": 2.0,
"r_rank": 497,
"h_value": 4.0,
"h_rank": 501,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 459,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 4.0,
"rbi_rank": 451,
"tb_value": 8.0,
"tb_rank": 2582,
"bb_value": 0.0,
"bb_rank": 544,
"so_value": 4.0,
"so_rank": 535,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.6,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 20.0,
"bb_percent": 0.0,
"woba": 0.254,
"xwoba": 0.202,
"xba": 0.17,
"xslg": 0.304,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 18.9,
"whiff_percent": 18.9,
"swing_percent": 54.4
},
"components": {
"expected_quality": -1.4076,
"regression_edge": -1.4857,
"xwoba_edge": -2.5,
"xba_edge": -1.9714,
"xslg_edge": -0.9786,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.1071,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0365,
"raw_average_factor": 1.0365,
"team_espn_average_rank": 244.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "664761",
"player_name": "Alec Bohm",
"offense_factor": 1.0073,
"quality_score": 0.0974,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664761",
"espn_id": 41169,
"player_name": "Alec Bohm",
"team": "PHI",
"role": "batter",
"espn_rank": 529,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 529,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 312.0,
"ab_rank": 76,
"r_value": 30.0,
"r_rank": 171,
"h_value": 70.0,
"h_rank": 105,
"avg_value": 0.2243589,
"avg_rank": 137.0,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 11.0,
"hr_rank": 86,
"rbi_value": 46.0,
"rbi_rank": 54,
"tb_value": 116.0,
"tb_rank": 915,
"bb_value": 23.0,
"bb_rank": 156,
"so_value": 49.0,
"so_rank": 193,
"sb_value": 1.0,
"sb_rank": 266,
"obp_value": 0.2827988,
"obp_rank": "150",
"slg_value": 0.3717948,
"slg_rank": "129",
"ops_value": 0.6545936,
"ops_rank": 21.0,
"war_value": -0.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 204.0,
"k_percent": 14.3,
"bb_percent": 6.7,
"woba": 0.288,
"xwoba": 0.302,
"xba": 0.247,
"xslg": 0.374,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 40.8,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 9.3,
"whiff_percent": 16.4,
"swing_percent": 45.3
},
"components": {
"expected_quality": 0.057,
"regression_edge": 0.4,
"xwoba_edge": 0.0,
"xba_edge": 0.2286,
"xslg_edge": 0.0214,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.3643,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "607208",
"player_name": "Trea Turner",
"offense_factor": 0.9803,
"quality_score": -0.2624,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607208",
"espn_id": 33710,
"player_name": "Trea Turner",
"team": "PHI",
"role": "batter",
"espn_rank": 433,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 433,
"gp_value": 88.0,
"gp_rank": 24,
"ab_value": 364.0,
"ab_rank": 2,
"r_value": 60.0,
"r_rank": 8,
"h_value": 86.0,
"h_rank": 45,
"avg_value": 0.2362637,
"avg_rank": 119.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 10.0,
"hr_rank": 99,
"rbi_value": 31.0,
"rbi_rank": 148,
"tb_value": 131.0,
"tb_rank": 862,
"bb_value": 22.0,
"bb_rank": 169,
"so_value": 89.0,
"so_rank": 31,
"sb_value": 16.0,
"sb_rank": 18,
"obp_value": 0.2827763,
"obp_rank": "150",
"slg_value": 0.3598901,
"slg_rank": "133",
"ops_value": 0.6426664,
"ops_rank": 17.0,
"war_value": -0.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 239.0,
"k_percent": 22.9,
"bb_percent": 5.7,
"woba": 0.284,
"xwoba": 0.282,
"xba": 0.237,
"xslg": 0.355,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 10.6,
"whiff_percent": 27.8,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.2958,
"regression_edge": -0.0571,
"xwoba_edge": -0.5714,
"xba_edge": -0.0571,
"xslg_edge": -0.25,
"barrel_edge": -0.2667,
"hard_hit_edge": 0.1786,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "547180",
"player_name": "Bryce Harper",
"offense_factor": 1.1227,
"quality_score": 1.6358,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "547180",
"espn_id": 30951,
"player_name": "Bryce Harper",
"team": "PHI",
"role": "batter",
"espn_rank": 54,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 54,
"gp_value": 90.0,
"gp_rank": 6,
"ab_value": 318.0,
"ab_rank": 63,
"r_value": 56.0,
"r_rank": 20,
"h_value": 86.0,
"h_rank": 45,
"avg_value": 0.2704402,
"avg_rank": 48.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 20.0,
"hr_rank": 11,
"rbi_value": 57.0,
"rbi_rank": 15,
"tb_value": 166.0,
"tb_rank": 185,
"bb_value": 54.0,
"bb_rank": 12,
"so_value": 76.0,
"so_rank": 74,
"sb_value": 5.0,
"sb_rank": 118,
"obp_value": 0.3703703,
"obp_rank": "25",
"slg_value": 0.5220125,
"slg_rank": "14",
"ops_value": 0.8923828,
"ops_rank": 39.0,
"war_value": 2.25,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 20.1,
"bb_percent": 14.3,
"woba": 0.381,
"xwoba": 0.403,
"xba": 0.289,
"xslg": 0.542,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 11.5,
"whiff_percent": 30.6,
"swing_percent": 51.1
},
"components": {
"expected_quality": 1.7998,
"regression_edge": 0.6286,
"xwoba_edge": 2.5,
"xba_edge": 1.4286,
"xslg_edge": 2.4214,
"barrel_edge": 1.1333,
"hard_hit_edge": 1.2786,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"offense_factor": 1.1198,
"quality_score": 1.5972,
"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": 593,
"metrics": {
"espn_rank": 41,
"gp_value": 86.0,
"gp_rank": 50,
"ab_value": 323.0,
"ab_rank": 49,
"r_value": 55.0,
"r_rank": 22,
"h_value": 82.0,
"h_rank": 67,
"avg_value": 0.2538699,
"avg_rank": 82.0,
"2b_value": 9.0,
"2b_rank": 196,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 30.0,
"hr_rank": 1,
"rbi_value": 55.0,
"rbi_rank": 24,
"tb_value": 183.0,
"tb_rank": 312,
"bb_value": 56.0,
"bb_rank": 10,
"so_value": 131.0,
"so_rank": 1,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.3697916,
"obp_rank": "25",
"slg_value": 0.5665634,
"slg_rank": "3",
"ops_value": 0.936355,
"ops_rank": 22.0,
"war_value": 2.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 34.1,
"bb_percent": 14.6,
"woba": 0.398,
"xwoba": 0.384,
"xba": 0.249,
"xslg": 0.531,
"sweet_spot_percent": 39.9,
"barrel_batted_rate": 19.3,
"hard_hit_percent": 53.9,
"exit_velocity_avg": 93.5,
"launch_angle_avg": 20.9,
"whiff_percent": 34.7,
"swing_percent": 44.6
},
"components": {
"expected_quality": 1.9223,
"regression_edge": -0.4,
"xwoba_edge": 2.3429,
"xba_edge": 0.2857,
"xslg_edge": 2.2643,
"barrel_edge": 2.5,
"hard_hit_edge": 2.2357,
"exit_velocity_edge": 1.88,
"sweet_spot_edge": 1.1,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "624641",
"player_name": "Edmundo Sosa",
"offense_factor": 1.0302,
"quality_score": 0.4024,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624641",
"espn_id": 33809,
"player_name": "Edmundo Sosa",
"team": "PHI",
"role": "batter",
"espn_rank": 353,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 353,
"gp_value": 48.0,
"gp_rank": 308,
"ab_value": 135.0,
"ab_rank": 298,
"r_value": 17.0,
"r_rank": 292,
"h_value": 30.0,
"h_rank": 300,
"avg_value": 0.2222222,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 306,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 24.0,
"rbi_rank": 213,
"tb_value": 52.0,
"tb_rank": 1446,
"bb_value": 3.0,
"bb_rank": 444,
"so_value": 32.0,
"so_rank": 298,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.2569444,
"obp_rank": "-",
"slg_value": 0.3851851,
"slg_rank": "-",
"ops_value": 0.6421295,
"ops_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 89.0,
"k_percent": 22.1,
"bb_percent": 2.1,
"woba": 0.278,
"xwoba": 0.341,
"xba": 0.288,
"xslg": 0.471,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 9.3,
"whiff_percent": 26.5,
"swing_percent": 61.7
},
"components": {
"expected_quality": 0.7467,
"regression_edge": 1.8,
"xwoba_edge": 1.1143,
"xba_edge": 1.4,
"xslg_edge": 1.4071,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.25,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "669016",
"player_name": "Brandon Marsh",
"offense_factor": 1.0362,
"quality_score": 0.4831,
"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": 62,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 62,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 317.0,
"ab_rank": 65,
"r_value": 50.0,
"r_rank": 40,
"h_value": 98.0,
"h_rank": 7,
"avg_value": 0.3091482,
"avg_rank": 8.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 15.0,
"hr_rank": 43,
"rbi_value": 46.0,
"rbi_rank": 54,
"tb_value": 162.0,
"tb_rank": 264,
"bb_value": 15.0,
"bb_rank": 242,
"so_value": 88.0,
"so_rank": 37,
"sb_value": 8.0,
"sb_rank": 69,
"obp_value": 0.3412462,
"obp_rank": "62",
"slg_value": 0.511041,
"slg_rank": "20",
"ops_value": 0.8522872,
"ops_rank": 42.0,
"war_value": 2.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 26.1,
"bb_percent": 4.5,
"woba": 0.365,
"xwoba": 0.327,
"xba": 0.276,
"xslg": 0.452,
"sweet_spot_percent": 46.1,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 13.3,
"whiff_percent": 26.0,
"swing_percent": 54.3
},
"components": {
"expected_quality": 0.8341,
"regression_edge": -1.0857,
"xwoba_edge": 0.7143,
"xba_edge": 1.0571,
"xslg_edge": 1.1357,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.1214,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 2.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"offense_factor": 1.0147,
"quality_score": 0.1962,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592663",
"espn_id": 32177,
"player_name": "J.T. Realmuto",
"team": "PHI",
"role": "batter",
"espn_rank": 239,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 239,
"gp_value": 62.0,
"gp_rank": 221,
"ab_value": 208.0,
"ab_rank": 200,
"r_value": 23.0,
"r_rank": 219,
"h_value": 42.0,
"h_rank": 237,
"avg_value": 0.201923,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 196,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 27.0,
"rbi_rank": 191,
"tb_value": 69.0,
"tb_rank": 1455,
"bb_value": 18.0,
"bb_rank": 206,
"so_value": 47.0,
"so_rank": 204,
"sb_value": 3.0,
"sb_rank": 175,
"obp_value": 0.2851063,
"obp_rank": "-",
"slg_value": 0.3317307,
"slg_rank": "-",
"ops_value": 0.616837,
"ops_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 20.0,
"bb_percent": 7.7,
"woba": 0.278,
"xwoba": 0.317,
"xba": 0.248,
"xslg": 0.386,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 12.3,
"whiff_percent": 24.9,
"swing_percent": 48.1
},
"components": {
"expected_quality": 0.2046,
"regression_edge": 1.1143,
"xwoba_edge": 0.4286,
"xba_edge": 0.2571,
"xslg_edge": 0.1929,
"barrel_edge": -0.3333,
"hard_hit_edge": -0.0357,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "681082",
"player_name": "Bryson Stott",
"offense_factor": 1.0225,
"quality_score": 0.2998,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681082",
"espn_id": 42417,
"player_name": "Bryson Stott",
"team": "PHI",
"role": "batter",
"espn_rank": 276,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 276,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 295.0,
"ab_rank": 96,
"r_value": 36.0,
"r_rank": 121,
"h_value": 73.0,
"h_rank": 93,
"avg_value": 0.2474576,
"avg_rank": 96.0,
"2b_value": 15.0,
"2b_rank": 74,
"3b_value": 4.0,
"3b_rank": 7,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 40.0,
"rbi_rank": 88,
"tb_value": 117.0,
"tb_rank": 646,
"bb_value": 23.0,
"bb_rank": 156,
"so_value": 56.0,
"so_rank": 152,
"sb_value": 16.0,
"sb_rank": 18,
"obp_value": 0.3052959,
"obp_rank": "132",
"slg_value": 0.3966101,
"slg_rank": "104",
"ops_value": 0.701906,
"ops_rank": 236.0,
"war_value": 0.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 182.0,
"k_percent": 17.3,
"bb_percent": 7.1,
"woba": 0.308,
"xwoba": 0.319,
"xba": 0.262,
"xslg": 0.407,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 15.6,
"whiff_percent": 17.6,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.3703,
"regression_edge": 0.3143,
"xwoba_edge": 0.4857,
"xba_edge": 0.6571,
"xslg_edge": 0.4929,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0786,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "656537",
"player_name": "Derek Hill",
"offense_factor": 0.9949,
"quality_score": -0.0683,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656537",
"espn_id": 33721,
"player_name": "Derek Hill",
"team": "PHI",
"role": "batter",
"espn_rank": 214,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 214,
"gp_value": 67.0,
"gp_rank": 197,
"ab_value": 113.0,
"ab_rank": 331,
"r_value": 17.0,
"r_rank": 292,
"h_value": 27.0,
"h_rank": 321,
"avg_value": 0.238938,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 417,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 13.0,
"rbi_rank": 320,
"tb_value": 47.0,
"tb_rank": 1760,
"bb_value": 8.0,
"bb_rank": 359,
"so_value": 44.0,
"so_rank": 223,
"sb_value": 7.0,
"sb_rank": 77,
"obp_value": 0.2950819,
"obp_rank": "-",
"slg_value": 0.4159292,
"slg_rank": "-",
"ops_value": 0.7110111,
"ops_rank": null,
"war_value": 0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 62.0,
"k_percent": 35.2,
"bb_percent": 6.4,
"woba": 0.312,
"xwoba": 0.289,
"xba": 0.227,
"xslg": 0.374,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 34.7,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 14.5,
"whiff_percent": 36.4,
"swing_percent": 51.6
},
"components": {
"expected_quality": -0.0695,
"regression_edge": -0.6571,
"xwoba_edge": -0.3714,
"xba_edge": -0.3429,
"xslg_edge": 0.0214,
"barrel_edge": 0.9556,
"hard_hit_edge": -0.5071,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.7,
"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 PHI | True | 1 | 0.6187 | 1 | 0.9474 | 1.0726 | 0.9180 | 1.0046 | neutral | 0.2670 | 0.2680 | 28.60 | 4.80 | 32.20 | 8.30 | 43 | |
| Home KC | True | 433 | -0.3361 | 0.9200 | 1.0286 | 0.9763 | 0.9614 | 1.0447 | neutral | 0.3400 | 0.3330 | 20.30 | 6.80 | 23.30 | 8.60 | 38.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away PHI | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home KC | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0263 |
| home_runs_vs_away_pitcher | 0.9474 |
| home_pitcher_quality_edge | -0.9548 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "702070",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 230.0,
"k_percent": 20.3,
"bb_percent": 6.8,
"woba": 0.333,
"xwoba": 0.34,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.8,
"avg_best_speed": 77.6917,
"avg_hyper_speed": 94.3506,
"whiff_percent": 23.3,
"swing_percent": 47.7
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.5457,
"command_and_miss": -0.1529,
"regression_edge": -0.2,
"xwoba_edge": -0.7714,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.0571,
"whiff_edge": -0.3143,
"bb_edge": 0.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "702070",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.3361,
"sample_weight": 0.92,
"run_prevention_factor": 1.0286,
"strikeout_factor": 0.9763,
"walk_factor": 0.9614,
"homer_factor": 1.0447,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702070",
"espn_id": 4417208,
"player_name": "Noah Cameron",
"team": "KC",
"role": "pitcher",
"espn_rank": 433,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 433,
"gp_value": 16.0,
"gp_rank": 322,
"gs_value": 16.0,
"gs_rank": 62,
"qs_value": 5.0,
"qs_rank": 73,
"era_value": 4.9482,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 6.0,
"l_rank": 36,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 83.2,
"ip_rank": 82,
"h_value": 93.0,
"h_rank": 29,
"er_value": 46.0,
"er_rank": 27,
"hr_value": 10.0,
"hr_rank": 71,
"bb_value": 25.0,
"bb_rank": 101,
"k_value": 75.0,
"k_rank": 71,
"k_per_9_value": 8.067729,
"k_per_9_rank": 23.0,
"whip_value": 1.4103,
"whip_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "650911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 322.0,
"k_percent": 28.6,
"bb_percent": 4.8,
"woba": 0.268,
"xwoba": 0.267,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 43.0,
"avg_best_speed": 77.5624,
"avg_hyper_speed": 94.487,
"whiff_percent": 32.2,
"swing_percent": 51.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.6699,
"command_and_miss": 0.9257,
"regression_edge": 0.0286,
"xwoba_edge": 1.3143,
"barrel_edge": -0.2222,
"hard_hit_edge": -0.6571,
"whiff_edge": 0.9571,
"bb_edge": 1.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "650911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.6187,
"sample_weight": 1.0,
"run_prevention_factor": 0.9474,
"strikeout_factor": 1.0726,
"walk_factor": 0.918,
"homer_factor": 1.0046,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650911",
"espn_id": 42359,
"player_name": "Cristopher Sanchez",
"team": "PHI",
"role": "pitcher",
"espn_rank": 1,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 1,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 13.0,
"qs_rank": 1,
"era_value": 2.0,
"era_rank": 2.0,
"w_value": 10.0,
"w_rank": 2,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 117.0,
"ip_rank": 2,
"h_value": 104.0,
"h_rank": 7,
"er_value": 26.0,
"er_rank": 143,
"hr_value": 8.0,
"hr_rank": 118,
"bb_value": 23.0,
"bb_rank": 123,
"k_value": 136.0,
"k_rank": 3,
"k_per_9_value": 10.461538,
"k_per_9_rank": 40.0,
"whip_value": 1.0854,
"whip_rank": 15.0,
"war_value": 5.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0263,
"home_runs_vs_away_pitcher": 0.9474,
"home_pitcher_quality_edge": -0.9548
},
"score_before": {
"away_runs": 7.043,
"home_runs": 0.8286
},
"score_after": {
"away_runs": 7.2283,
"home_runs": 0.7851,
"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 PHI | 6-4 | 0.600 | 5 | 4.30 | 7 | average | average | |
| Home KC | 2-8 | 0.200 | 2.20 | 7.10 | -49 | cold | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away PHI | 50-40 | 0.556 | 7 | 0.078 | True |
| Home KC | 36-54 | 0.400 | -85 | -0.944 | True |
| Signal | - | - | -1.022 | -1.256 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target PHI | - | - | 5 | - | - | - | - |
| Game target KC | - | - | 1 | - | - | - | - |
| Player finalized PHI | 34 | 9 | 5 | 0 | 4 | 2 | 9 |
| Player finalized KC | 30 | 9 | 1 | 0 | 0 | 0 | 8 |
| Player model fractional PHI | 32.55 | 7.63 | 4.80 | 1.33 | 4.51 | 2.67 | 8.27 |
| Player model fractional KC | 29.47 | 5.85 | 3.22 | 0.77 | 2.72 | 2.28 | 7.06 |
| Simulation box PHI | 34 | 7 | 5 | 3 | 5 | 1 | 8 |
| Simulation box KC | 33 | 6 | 1 | 1 | 1 | 1 | 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 PHI | Starter | Cristopher Sánchez | 6.10 | 1 | 4 | 6 | 1 | 3.01 | 1.08 | True |
| Away PHI | Middle Reliever | Jhoan Duran | 1 | 0 | 0 | 0 | 0 | 2.18 | 1.05 | True |
| Away PHI | Middle Reliever | Orion Kerkering | 1 | 0 | 0 | 0 | 0 | 2.85 | 1.06 | True |
| Away PHI | Middle Reliever | José Alvarado | 0.20 | 0 | 0 | 0 | 0 | 4.86 | 1.43 | True |
| Home KC | Starter | Noah Cameron | 4.20 | 3 | 4 | 4 | 1 | 5.39 | 1.49 | True |
| Home KC | Middle Reliever | Alex Lange | 1 | 0 | 2 | 0 | 0 | 7.11 | 1.56 | True |
| Home KC | Middle Reliever | Daniel Lynch IV | 1.10 | 0 | 1 | 0 | 0 | 3.61 | 1.14 | True |
| Home KC | Middle Reliever | John Schreiber | 1 | 0 | 1 | 1 | 0 | 4.65 | 1.41 | True |
| Home KC | Middle Reliever | Lucas Erceg | 1 | 2 | 0 | 2 | 0 | 4.55 | 1.31 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | PHI | batter | CF | Derek Hill | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 2.8200 | boost | better |
| away | PHI | batter | 1B | Bryce Harper | better | 10 | 8 | 2 | 7 | 3 | predicted_RBI | 2.3000 | boost | better |
| home | KC | batter | SS | Tyler Tolbert | worse | 9 | 3 | 6 | 2 | 7 | predicted_AB | 1.5000 | boost | better |
| away | PHI | batter | LF | Edmundo Sosa | boosted | 10 | 6 | 4 | 5 | 5 | predicted_SO | 1.3190 | boost | worse |
| home | KC | batter | LF | Starling Marte | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | 1.2890 | boost | better |
| away | PHI | batter | DH | Kyle Schwarber | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | -1.1700 | deboost | worse |
| home | KC | batter | RF | Jac Caglianone | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -1.1460 | deboost | better |
| away | PHI | batter | SS | Trea Turner | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | -1.1000 | deboost | worse |
| away | PHI | batter | 3B | Alec Bohm | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | -0.9100 | deboost | worse |
| home | KC | batter | CF | Lane Thomas | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 0.8800 | boost | better |
| home | KC | batter | 1B | Salvador Perez | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.8520 | deboost | better |
| home | KC | batter | 3B | Josh Rojas | worse | 9 | 2 | 7 | 3 | 6 | predicted_H | 0.8200 | boost | better |
| home | KC | pitcher | Starter | Noah Cameron | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.8000 | deboost | worse |
| away | PHI | batter | C | J.T. Realmuto | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.7830 | deboost | better |
| home | KC | batter | C | Luke Maile | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.7390 | deboost | worse |
| home | KC | batter | 2B | Nick Loftin | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | -0.7000 | deboost | worse |
| away | PHI | batter | 2B | Bryson Stott | boosted | 10 | 6 | 4 | 5 | 5 | predicted_R | 0.5780 | boost | better |
| home | KC | batter | DH | Bobby Witt Jr. | worse | 10 | 1 | 9 | 0 | 10 | predicted_RBI | -0.5600 | deboost | worse |
| away | PHI | batter | RF | Brandon Marsh | better | 9 | 5 | 4 | 5 | 4 | predicted_RBI | -0.5000 | deboost | worse |
| away | PHI | pitcher | Middle Reliever | José Alvarado | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | PHI | pitcher | Starter | Cristopher Sánchez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | KC | pitcher | Middle Reliever | Daniel Lynch IV | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Cristopher Sánchez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6187 |
| ESPN Rank | 1 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 6.1000 |
| Pre ER | 1 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 2 |
| Season WHIP | 1.0855 |
| Role Avg IP | 6.5000 |
| Recent Avg IP | 6.1330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"opponent": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"edges": {
"quality_edge": 0.3907,
"offense_edge": -0.0337,
"opponent_offense_edge": -0.1221,
"defense_strength": 0.0325,
"opponent_defense_weakness": 0.0965,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0215,
"run_prevention": 0.9577,
"strikeout": 1.0215
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "650911",
"profile": {
"available": true,
"pitcher_id": "650911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 322.0,
"k_percent": 28.6,
"bb_percent": 4.8,
"woba": 0.268,
"xwoba": 0.267,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 43.0,
"avg_best_speed": 77.5624,
"avg_hyper_speed": 94.487,
"whiff_percent": 32.2,
"swing_percent": 51.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.6699,
"command_and_miss": 0.9257,
"regression_edge": 0.0286,
"xwoba_edge": 1.3143,
"barrel_edge": -0.2222,
"hard_hit_edge": -0.6571,
"whiff_edge": 0.9571,
"bb_edge": 1.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "650911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.6187,
"sample_weight": 1.0,
"run_prevention_factor": 0.9474,
"strikeout_factor": 1.0726,
"walk_factor": 0.918,
"homer_factor": 1.0046,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650911",
"espn_id": 42359,
"player_name": "Cristopher Sanchez",
"team": "PHI",
"role": "pitcher",
"espn_rank": 1,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 1,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 13.0,
"qs_rank": 1,
"era_value": 2.0,
"era_rank": 2.0,
"w_value": 10.0,
"w_rank": 2,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 117.0,
"ip_rank": 2,
"h_value": 104.0,
"h_rank": 7,
"er_value": 26.0,
"er_rank": 143,
"hr_value": 8.0,
"hr_rank": 118,
"bb_value": 23.0,
"bb_rank": 123,
"k_value": 136.0,
"k_rank": 3,
"k_per_9_value": 10.461538,
"k_per_9_rank": 40.0,
"whip_value": 1.0854,
"whip_rank": 15.0,
"war_value": 5.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9474,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 0.9474,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.918,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0046,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0726,
"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": 68.2,
"ER": 13,
"H": 53,
"BB": 9,
"SO": 76,
"HR": 5,
"ERA": 1.703883495145631,
"WHIP": 0.9029126213592232,
"K9": 9.96116504854369,
"HR9": 0.6553398058252426,
"games_pitched": 10,
"quality_starts": 8,
"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": "650911",
"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": "650911",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.2,
"ER": 12.0,
"R": 12.0,
"H": 27.0,
"BB": 6.0,
"SO": 33.0,
"HR": 5.0,
"BF": 126.0,
"Pitches": 480.0
},
"per_game": {
"IP": 6.0,
"ER": 2.4,
"R": 2.4,
"H": 5.4,
"BB": 1.2,
"SO": 6.6,
"HR": 1.0,
"BF": 25.2,
"Pitches": 96.0
},
"rates": {
"ERA": 3.5217,
"WHIP": 1.0761,
"ER_per_IP": 0.3913,
"H_per_IP": 0.88043,
"BB_per_IP": 0.19565,
"SO_per_IP": 1.07609,
"HR_per_IP": 0.16304
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 68.2,
"ER": 13.0,
"R": 13.0,
"H": 53.0,
"BB": 9.0,
"SO": 76.0,
"HR": 5.0,
"BF": 266.0,
"Pitches": 971.0
},
"per_game": {
"IP": 7.0,
"ER": 1.3,
"R": 1.3,
"H": 5.3,
"BB": 0.9,
"SO": 7.6,
"HR": 0.5,
"BF": 26.6,
"Pitches": 97.1
},
"rates": {
"ERA": 1.7039,
"WHIP": 0.9029,
"ER_per_IP": 0.18932,
"H_per_IP": 0.77184,
"BB_per_IP": 0.13107,
"SO_per_IP": 1.1068,
"HR_per_IP": 0.07282
}
},
"season": {
"games": 18,
"totals": {
"IP": 117.0,
"ER": 26.0,
"R": 31.0,
"H": 104.0,
"BB": 23.0,
"SO": 136.0,
"HR": 8.0,
"BF": 475.0,
"Pitches": 1717.0
},
"per_game": {
"IP": 6.2,
"ER": 1.4444,
"R": 1.7222,
"H": 5.7778,
"BB": 1.2778,
"SO": 7.5556,
"HR": 0.4444,
"BF": 26.3889,
"Pitches": 95.3889
},
"rates": {
"ERA": 2.0,
"WHIP": 1.0855,
"ER_per_IP": 0.22222,
"H_per_IP": 0.88889,
"BB_per_IP": 0.19658,
"SO_per_IP": 1.16239,
"HR_per_IP": 0.06838
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.155,
"predicted_H": 5.621,
"predicted_BB": 1.375,
"predicted_SO": 6.912,
"predicted_HR": 0.777,
"predicted_ERA": 3.0062,
"predicted_WHIP": 1.0847
}
}{
"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": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.155,
"final": 1.6447,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.621,
"final": 5.7885,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.375,
"final": 1.2093,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.912,
"final": 5.6253,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.777,
"final": 0.8755,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0062,
"final": 3.0062,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0847,
"final": 1.0847,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.5275 |
| ESPN Rank | 37 |
| 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 | 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": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"opponent": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"edges": {
"quality_edge": 0.3907,
"offense_edge": -0.0337,
"opponent_offense_edge": -0.1221,
"defense_strength": 0.0325,
"opponent_defense_weakness": 0.0965,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0215,
"run_prevention": 0.9577,
"strikeout": 1.0215
},
"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.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.1797,
"command_and_miss": 2.0114,
"regression_edge": -0.1143,
"xwoba_edge": 2.2857,
"barrel_edge": 0.5556,
"hard_hit_edge": -1.5429,
"whiff_edge": 2.1286,
"bb_edge": 0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "661395",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5275,
"sample_weight": 0.45,
"run_prevention_factor": 0.9552,
"strikeout_factor": 1.0818,
"walk_factor": 0.9676,
"homer_factor": 0.9769,
"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": 37,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 37,
"gp_value": 31.0,
"gp_rank": 123,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 1.5168,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 21.0,
"sv_rank": 5,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 29.2,
"ip_rank": 330,
"h_value": 22.0,
"h_rank": 365,
"er_value": 5.0,
"er_rank": 536,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 6.0,
"bb_rank": 471,
"k_value": 45.0,
"k_rank": 178,
"k_per_9_value": 13.651685,
"k_per_9_rank": 14.0,
"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.9798,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9798,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0368,
"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.883,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5406,
"prior_weight": 0.4594
},
"role": "pitcher",
"player_id": "661395",
"report_date": "20260706_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.243,
"predicted_H": 0.793,
"predicted_BB": 0.253,
"predicted_SO": 1.256,
"predicted_HR": 0.072,
"predicted_ERA": 2.1825,
"predicted_WHIP": 1.0467
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5441,
"form_weight": 0.4559,
"form_reliability": 0.5406,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.883,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5406,
"prior_weight": 0.4594
},
"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.1108,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.793,
"final": 0.3615,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.253,
"final": 0.1153,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.256,
"final": 0.5726,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.072,
"final": 0.0328,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1825,
"final": 2.1825,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0467,
"final": 1.0467,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.3368 |
| ESPN Rank | 76 |
| 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.5472 |
| Season WHIP | 1.1321 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"opponent": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"edges": {
"quality_edge": 0.3907,
"offense_edge": -0.0337,
"opponent_offense_edge": -0.1221,
"defense_strength": 0.0325,
"opponent_defense_weakness": 0.0965,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0215,
"run_prevention": 0.9577,
"strikeout": 1.0215
},
"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": 26.7,
"bb_percent": 11.3,
"woba": 0.275,
"xwoba": 0.265,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 24.4,
"avg_best_speed": 72.0262,
"avg_hyper_speed": 92.0193,
"whiff_percent": 28.4,
"swing_percent": 43.1
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.1516,
"command_and_miss": 0.2886,
"regression_edge": 0.2857,
"xwoba_edge": 1.3714,
"barrel_edge": 0.1333,
"hard_hit_edge": 2.0,
"whiff_edge": 0.4143,
"bb_edge": -0.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "689147",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3368,
"sample_weight": 0.45,
"run_prevention_factor": 0.9714,
"strikeout_factor": 1.018,
"walk_factor": 1.0216,
"homer_factor": 0.9407,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "689147",
"espn_id": 4630789,
"player_name": "Orion Kerkering",
"team": "PHI",
"role": "pitcher",
"espn_rank": 76,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 76,
"gp_value": 37.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.5471,
"era_rank": null,
"w_value": 6.0,
"w_rank": 46,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 7.0,
"hld_rank": 70,
"ip_value": 35.1,
"ip_rank": 263,
"h_value": 23.0,
"h_rank": 354,
"er_value": 10.0,
"er_rank": 388,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 17.0,
"bb_rank": 207,
"k_value": 40.0,
"k_rank": 216,
"k_per_9_value": 10.188679,
"k_per_9_rank": 22.0,
"whip_value": 1.132,
"whip_rank": null,
"war_value": 1.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0097,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9733,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0081,
"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": 4,
"BB": 6,
"SO": 13,
"HR": 1,
"ERA": 3.272727272727272,
"WHIP": 0.909090909090909,
"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-04T00: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": 7.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5836,
"prior_weight": 0.4164
},
"role": "pitcher",
"player_id": "689147",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 15.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7059,
"ER_per_IP": 0.0,
"H_per_IP": 0.17647,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 4.0,
"R": 4.0,
"H": 4.0,
"BB": 6.0,
"SO": 13.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.6,
"SO": 1.3,
"HR": 0.1,
"BF": 4.5,
"Pitches": 17.6
},
"rates": {
"ERA": 3.2727,
"WHIP": 0.9091,
"ER_per_IP": 0.36364,
"H_per_IP": 0.36364,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.18182,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 37,
"totals": {
"IP": 35.1,
"ER": 10.0,
"R": 11.0,
"H": 23.0,
"BB": 17.0,
"SO": 40.0,
"HR": 3.0,
"BF": 150.0,
"Pitches": 606.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2703,
"R": 0.2973,
"H": 0.6216,
"BB": 0.4595,
"SO": 1.0811,
"HR": 0.0811,
"BF": 4.0541,
"Pitches": 16.3784
},
"rates": {
"ERA": 2.5472,
"WHIP": 1.1321,
"ER_per_IP": 0.28302,
"H_per_IP": 0.65094,
"BB_per_IP": 0.48113,
"SO_per_IP": 1.13208,
"HR_per_IP": 0.08491
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.317,
"predicted_H": 0.6,
"predicted_BB": 0.455,
"predicted_SO": 1.049,
"predicted_HR": 0.091,
"predicted_ERA": 2.8548,
"predicted_WHIP": 1.0558
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5259,
"form_weight": 0.4741,
"form_reliability": 0.5836,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5836,
"prior_weight": 0.4164
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.317,
"final": 0.1503,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.6,
"final": 0.2844,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.455,
"final": 0.2157,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.049,
"final": 0.4973,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.091,
"final": 0.0431,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8548,
"final": 2.8548,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0558,
"final": 1.0558,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1803 |
| 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 | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 6.0968 |
| Season WHIP | 1.6774 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"opponent": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"edges": {
"quality_edge": 0.3907,
"offense_edge": -0.0337,
"opponent_offense_edge": -0.1221,
"defense_strength": 0.0325,
"opponent_defense_weakness": 0.0965,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0215,
"run_prevention": 0.9577,
"strikeout": 1.0215
},
"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.7,
"bb_percent": 7.3,
"woba": 0.374,
"xwoba": 0.304,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 28.9,
"avg_best_speed": 76.3544,
"avg_hyper_speed": 93.1801,
"whiff_percent": 29.7,
"swing_percent": 49.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.0416,
"command_and_miss": 0.6821,
"regression_edge": 2.0,
"xwoba_edge": 0.2571,
"barrel_edge": 0.6222,
"hard_hit_edge": 1.3571,
"whiff_edge": 0.6,
"bb_edge": 0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621237",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1803,
"sample_weight": 0.45,
"run_prevention_factor": 0.9847,
"strikeout_factor": 1.0265,
"walk_factor": 0.9856,
"homer_factor": 0.9497,
"woba_minus_xwoba": 0.07,
"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": 639,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 639,
"gp_value": 37.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 6.0967,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 9.0,
"hld_rank": 49,
"ip_value": 31.0,
"ip_rank": 314,
"h_value": 41.0,
"h_rank": 171,
"er_value": 21.0,
"er_rank": 180,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 43.0,
"k_rank": 188,
"k_per_9_value": 12.483871,
"k_per_9_rank": 16.0,
"whip_value": 1.6774,
"whip_rank": null,
"war_value": -0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9931,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9931,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9774,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0119,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 7,
"H": 13,
"BB": 2,
"SO": 16,
"HR": 1,
"ERA": 6.517241379310345,
"WHIP": 1.5517241379310345,
"K9": 14.896551724137932,
"HR9": 0.9310344827586208,
"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-02T00: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": 6.148,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5515,
"prior_weight": 0.4485
},
"role": "pitcher",
"player_id": "621237",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 110.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.2,
"SO": 1.8,
"HR": 0.0,
"BF": 4.6,
"Pitches": 22.0
},
"rates": {
"ERA": 3.6,
"WHIP": 1.4,
"ER_per_IP": 0.4,
"H_per_IP": 1.2,
"BB_per_IP": 0.2,
"SO_per_IP": 1.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 7.0,
"R": 7.0,
"H": 13.0,
"BB": 2.0,
"SO": 16.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 214.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.3,
"BB": 0.2,
"SO": 1.6,
"HR": 0.1,
"BF": 4.6,
"Pitches": 21.4
},
"rates": {
"ERA": 6.5172,
"WHIP": 1.5517,
"ER_per_IP": 0.72414,
"H_per_IP": 1.34483,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.65517,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 37,
"totals": {
"IP": 31.0,
"ER": 21.0,
"R": 22.0,
"H": 41.0,
"BB": 11.0,
"SO": 43.0,
"HR": 3.0,
"BF": 150.0,
"Pitches": 640.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5676,
"R": 0.5946,
"H": 1.1081,
"BB": 0.2973,
"SO": 1.1622,
"HR": 0.0811,
"BF": 4.0541,
"Pitches": 17.2973
},
"rates": {
"ERA": 6.0968,
"WHIP": 1.6774,
"ER_per_IP": 0.67742,
"H_per_IP": 1.32258,
"BB_per_IP": 0.35484,
"SO_per_IP": 1.3871,
"HR_per_IP": 0.09677
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.459,
"predicted_H": 0.968,
"predicted_BB": 0.246,
"predicted_SO": 1.146,
"predicted_HR": 0.083,
"predicted_ERA": 4.8585,
"predicted_WHIP": 1.4271
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5395,
"form_weight": 0.4605,
"form_reliability": 0.5515,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.148,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5515,
"prior_weight": 0.4485
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.459,
"final": 0.2114,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.968,
"final": 0.4458,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.246,
"final": 0.1133,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.146,
"final": 0.5277,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.083,
"final": 0.0382,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8585,
"final": 4.8585,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4271,
"final": 1.4271,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.155 | 0.000 | 0.000 | Hitting_2B | 0.157 | 0.000 | -0.157 | 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.756 | 3.000 | 0.244 | 1.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_BB | 0.274 | 0.000 | 0.000 | Hitting_BB | 0.289 | 1.000 | -0.289 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 0.000 | 1.000 | Hitting_H | 0.826 | 0.000 | -0.826 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.250 | Hitting_OBP | 0.279 | 0.250 | -0.279 | -0.250 |
| predicted_R | 0.357 | 0.000 | 0.000 | Hitting_R | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.504 | 0.000 | -0.504 | 0.000 |
| predicted_SLG | 0.419 | 0.000 | 0.250 | Hitting_SLG | 0.338 | 0.000 | -0.338 | 0.000 |
| predicted_SO | 0.583 | 0.000 | 1.000 | Hitting_SO | 0.562 | 0.000 | -0.562 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.8900 -> 4.0000 (boost 0.1100, 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 | 3 | 2 | 1 | 2 | 1 | predicted_R: 0.3570 -> 0.4384 (boost 0.0814, better) | predicted_AB: 3.8900 -> 3.8316 (deboost -0.0584, worse) | Final model input calibrated with local form: 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.2312 -> 0.2380 (boost 0.0068, better) | predicted_OBP: 0.3003 -> 0.2913 (deboost -0.0090, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.5514 -> 1.0000 (boost 0.4486, better) | predicted_BB: 0.2885 -> 0.0000 (deboost -0.2885, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.234 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4636 -> 0.0000 (deboost -0.4636, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2380 -> 0.2500 (boost 0.0120, better) | predicted_SLG: 0.4218 -> 0.2500 (deboost -0.1718, 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.4218 (boost 0.1718, better) | predicted_AVG: 0.2500 -> 0.2380 (deboost -0.0120, 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.155,
"predicted_3B": 0.0,
"predicted_AB": 3.89,
"predicted_AVG": 0.235,
"predicted_BB": 0.274,
"predicted_H": 0.91,
"predicted_HR": 0.15,
"predicted_OBP": 0.301,
"predicted_R": 0.357,
"predicted_RBI": 0.51,
"predicted_SLG": 0.419,
"predicted_SO": 0.583
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1861,
"predicted_3B": 0.0004,
"predicted_AB": 3.8316,
"predicted_AVG": 0.2312,
"predicted_BB": 0.2855,
"predicted_H": 0.8836,
"predicted_HBP": 0.102,
"predicted_HR": 0.1683,
"predicted_OBP": 0.3003,
"predicted_R": 0.4384,
"predicted_RBI": 0.5215,
"predicted_SLG": 0.4285,
"predicted_SO": 0.6026
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1861,
"delta": 0.0311,
"percent_delta": 0.2006,
"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.8316,
"delta": -0.0584,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2312,
"delta": -0.0038,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 0.2855,
"delta": 0.0115,
"percent_delta": 0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.8836,
"delta": -0.0264,
"percent_delta": -0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1683,
"delta": 0.0183,
"percent_delta": 0.122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3003,
"delta": -0.0007,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.4384,
"delta": 0.0814,
"percent_delta": 0.228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5215,
"delta": 0.0115,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4285,
"delta": 0.0095,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.583,
"after": 0.6026,
"delta": 0.0196,
"percent_delta": 0.0336,
"direction": "no_change",
"projection_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.357,
"after": 0.4384,
"delta": 0.0814,
"percent_delta": 0.228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.89,
"after": 3.8316,
"delta": -0.0584,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1861,
"predicted_3B": 0.0004,
"predicted_AB": 3.8316,
"predicted_AVG": 0.238,
"predicted_BB": 0.2885,
"predicted_H": 0.9119,
"predicted_HBP": 0.102,
"predicted_HR": 0.1725,
"predicted_OBP": 0.2913,
"predicted_R": 0.4636,
"predicted_RBI": 0.5514,
"predicted_SLG": 0.4218,
"predicted_SO": 0.5963
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1861,
"after": 0.1861,
"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.8316,
"after": 3.8316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2312,
"after": 0.238,
"delta": 0.0068,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2855,
"after": 0.2885,
"delta": 0.003,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8836,
"after": 0.9119,
"delta": 0.0283,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1683,
"after": 0.1725,
"delta": 0.0042,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3003,
"after": 0.2913,
"delta": -0.009,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4384,
"after": 0.4636,
"delta": 0.0252,
"percent_delta": 0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5215,
"after": 0.5514,
"delta": 0.0299,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4285,
"after": 0.4218,
"delta": -0.0067,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6026,
"after": 0.5963,
"delta": -0.0063,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_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.2312,
"after": 0.238,
"delta": 0.0068,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3003,
"after": 0.2913,
"delta": -0.009,
"percent_delta": -0.03,
"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.234 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1861,
"after": 0.0,
"delta": -0.1861,
"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.8316,
"after": 4.0,
"delta": 0.1684,
"percent_delta": 0.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2885,
"after": 0.0,
"delta": -0.2885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9119,
"after": 1.0,
"delta": 0.0881,
"percent_delta": 0.0966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1725,
"after": 0.0,
"delta": -0.1725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5514,
"after": 1.0,
"delta": 0.4486,
"percent_delta": 0.8136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5963,
"after": 1.0,
"delta": 0.4037,
"percent_delta": 0.677,
"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.5514,
"after": 1.0,
"delta": 0.4486,
"percent_delta": 0.8136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2885,
"after": 0.0,
"delta": -0.2885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4636,
"after": 0.0,
"delta": -0.4636,
"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.4636,
"after": 0.0,
"delta": -0.4636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.25,
"delta": 0.012,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2913,
"after": 0.25,
"delta": -0.0413,
"percent_delta": -0.1418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4218,
"after": 0.25,
"delta": -0.1718,
"percent_delta": -0.4073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.238,
"after": 0.25,
"delta": 0.012,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4218,
"after": 0.25,
"delta": -0.1718,
"percent_delta": -0.4073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.238,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2913,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4218,
"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.238,
"delta": -0.012,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2913,
"delta": 0.0413,
"percent_delta": 0.1654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4218,
"delta": 0.1718,
"percent_delta": 0.6874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4218,
"delta": 0.1718,
"percent_delta": 0.6874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.238,
"delta": -0.012,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 4.0,
"delta": 0.11,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.238,
"delta": 0.003,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 0.0,
"delta": -0.274,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2913,
"delta": -0.0097,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4218,
"delta": 0.0028,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"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.89,
"after": 4.0,
"delta": 0.11,
"percent_delta": 0.0283,
"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.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.890 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.274 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.419 | - |
| predicted_SO | 0.583 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.031 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.832 | -0.058 |
| predicted_AVG | 0.231 | -0.004 |
| predicted_BB | 0.285 | 0.011 |
| predicted_H | 0.884 | -0.026 |
| predicted_HBP | 0.102 | - |
| predicted_HR | 0.168 | 0.018 |
| predicted_OBP | 0.300 | -0.001 |
| predicted_R | 0.438 | 0.081 |
| predicted_RBI | 0.521 | 0.011 |
| predicted_SLG | 0.428 | 0.010 |
| predicted_SO | 0.603 | 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.186 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.832 | 0.000 |
| predicted_AVG | 0.238 | 0.007 |
| predicted_BB | 0.288 | 0.003 |
| predicted_H | 0.912 | 0.028 |
| predicted_HBP | 0.102 | 0.000 |
| predicted_HR | 0.172 | 0.004 |
| predicted_OBP | 0.291 | -0.009 |
| predicted_R | 0.464 | 0.025 |
| predicted_RBI | 0.551 | 0.030 |
| predicted_SLG | 0.422 | -0.007 |
| predicted_SO | 0.596 | -0.006 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.234 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 | 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.186 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.168 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 0.000 | -0.288 |
| predicted_H | 1.000 | 0.088 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.250 | -0.041 |
| predicted_R | 0.000 | -0.464 |
| predicted_RBI | 1.000 | 0.449 |
| predicted_SLG | 0.250 | -0.172 |
| predicted_SO | 1.000 | 0.404 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 19.000 | 5.000 | 2.000 | 0.000 | 2.000 | 3.000 | 5.000 | 2.000 | 3.000 | 0.2632 | 0.3636 | 0.6842 | 0.2632 | 0.1053 | 0.1579 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 3.000 | 0.000 | 2.000 | 5.000 | 7.000 | 3.000 | 7.000 | 0.1842 | 0.2791 | 0.4211 | 0.1842 | 0.0526 | 0.1316 | 0.0790 | 0.1842 |
| season | 0.60 | 84 | - | 312.000 | 70.000 | 13.000 | 0.000 | 11.000 | 45.000 | 30.000 | 23.000 | 49.000 | 0.2244 | 0.2836 | 0.3718 | 0.2244 | 0.0353 | 0.1442 | 0.0737 | 0.1570 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2280 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7530 |
| predicted_AVG | 0.2260 |
| predicted_BB | 0.3010 |
| predicted_H | 0.8480 |
| predicted_HBP | 0.1020 |
| predicted_HR | 0.1930 |
| predicted_OBP | 0.2993 |
| predicted_R | 0.5480 |
| predicted_RBI | 0.5370 |
| predicted_SLG | 0.4413 |
| predicted_SO | 0.6290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.2280 | 0.1861 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8900 | 3.7530 | 3.8316 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2260 | 0.2312 | model_form_blend |
| predicted_BB | 0.2740 | 0.3010 | 0.2855 | model_form_blend |
| predicted_H | 0.9100 | 0.8480 | 0.8836 | model_form_blend |
| predicted_HBP | - | 0.1020 | 0.1020 | form_only |
| predicted_HR | 0.1500 | 0.1930 | 0.1683 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2993 | 0.3003 | model_form_blend |
| predicted_R | 0.3570 | 0.5480 | 0.4384 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5370 | 0.5215 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4413 | 0.4285 | model_form_blend |
| predicted_SO | 0.5830 | 0.6290 | 0.6026 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 242 |
| Season rows before report date | 242 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 3B |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 664761 |
| playerID | 664761 |
| playerName | Alec Bohm |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-05 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.288 |
| sl_xwoba | 0.302 |
| sl_xba | 0.247 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 40.8 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 9.3 |
| sl_whiff_percent | 16.4 |
| 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.176 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.640 | 4.000 | 5.000 | Hitting_AB | 4.277 | 4.000 | -0.277 | 0.000 |
| predicted_AVG | 0.236 | 0.000 | 0.200 | Hitting_AVG | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_BB | 0.247 | 0.000 | 0.000 | Hitting_BB | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.100 | 0.000 | 1.000 | Hitting_H | 1.004 | 0.000 | -1.004 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.290 | 0.000 | 0.200 | Hitting_OBP | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_R | 0.694 | 0.000 | 1.000 | Hitting_R | 0.697 | 0.000 | -0.697 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.369 | 0.000 | -0.369 | 0.000 |
| predicted_SLG | 0.412 | 0.000 | 0.200 | Hitting_SLG | 0.369 | 0.000 | -0.369 | 0.000 |
| predicted_SO | 1.012 | 0.000 | 1.000 | Hitting_SO | 0.996 | 1.000 | -0.996 | -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_AVG: 0.2360 -> 0.2514 (boost 0.0154, better) |
| Biggest Deboost | predicted_H: 1.1000 -> 0.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4120 -> 0.4223 (boost 0.0103, better) | predicted_AB: 4.6400 -> 4.5032 (deboost -0.1368, worse) | Final model input calibrated with local 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.2432 -> 0.2514 (boost 0.0082, better) | predicted_SLG: 0.4223 -> 0.4168 (deboost -0.0055, 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.5032 -> 5.0000 (boost 0.4968, better) | predicted_BB: 0.2206 -> 0.0000 (deboost -0.2206, worse) | AB rounded to 5 (raw=4.64), rates preserved: AVG=0.244 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7846 -> 1.0000 (boost 0.2154, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4168 -> 0.2000 (deboost -0.2168, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4168 (boost 0.2168, 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.176,
"predicted_3B": 0.0,
"predicted_AB": 4.64,
"predicted_AVG": 0.236,
"predicted_BB": 0.247,
"predicted_H": 1.1,
"predicted_HR": 0.17,
"predicted_OBP": 0.29,
"predicted_R": 0.694,
"predicted_RBI": 0.56,
"predicted_SLG": 0.412,
"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.1803,
"predicted_3B": 0.0004,
"predicted_AB": 4.5032,
"predicted_AVG": 0.2432,
"predicted_BB": 0.2183,
"predicted_H": 1.097,
"predicted_HBP": 0.009,
"predicted_HR": 0.1833,
"predicted_OBP": 0.2874,
"predicted_R": 0.742,
"predicted_RBI": 0.5767,
"predicted_SLG": 0.4223,
"predicted_SO": 1.0356
},
"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.64,
"after": 4.5032,
"delta": -0.1368,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2432,
"delta": 0.0072,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.2183,
"delta": -0.0287,
"percent_delta": -0.1162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.097,
"delta": -0.003,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1833,
"delta": 0.0133,
"percent_delta": 0.0782,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2874,
"delta": -0.0026,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.694,
"after": 0.742,
"delta": 0.048,
"percent_delta": 0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5767,
"delta": 0.0167,
"percent_delta": 0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.4223,
"delta": 0.0103,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 1.0356,
"delta": 0.0236,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_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.412,
"after": 0.4223,
"delta": 0.0103,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.64,
"after": 4.5032,
"delta": -0.1368,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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": 4.5032,
"predicted_AVG": 0.2514,
"predicted_BB": 0.2206,
"predicted_H": 1.1321,
"predicted_HBP": 0.009,
"predicted_HR": 0.1879,
"predicted_OBP": 0.2864,
"predicted_R": 0.7846,
"predicted_RBI": 0.6098,
"predicted_SLG": 0.4168,
"predicted_SO": 1.0248
},
"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": 4.5032,
"after": 4.5032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2432,
"after": 0.2514,
"delta": 0.0082,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2183,
"after": 0.2206,
"delta": 0.0023,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.097,
"after": 1.1321,
"delta": 0.0351,
"percent_delta": 0.032,
"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.1833,
"after": 0.1879,
"delta": 0.0046,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2874,
"after": 0.2864,
"delta": -0.001,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.742,
"after": 0.7846,
"delta": 0.0426,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5767,
"after": 0.6098,
"delta": 0.0331,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4223,
"after": 0.4168,
"delta": -0.0055,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0356,
"after": 1.0248,
"delta": -0.0108,
"percent_delta": -0.0104,
"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.2432,
"after": 0.2514,
"delta": 0.0082,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4223,
"after": 0.4168,
"delta": -0.0055,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.64), rates preserved: AVG=0.244 HR/AB=0.040",
"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.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": 4.5032,
"after": 5.0,
"delta": 0.4968,
"percent_delta": 0.1103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2206,
"after": 0.0,
"delta": -0.2206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1321,
"after": 1.0,
"delta": -0.1321,
"percent_delta": -0.1167,
"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.1879,
"after": 0.0,
"delta": -0.1879,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6098,
"after": 1.0,
"delta": 0.3902,
"percent_delta": 0.6399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0248,
"after": 1.0,
"delta": -0.0248,
"percent_delta": -0.0242,
"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.5032,
"after": 5.0,
"delta": 0.4968,
"percent_delta": 0.1103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2206,
"after": 0.0,
"delta": -0.2206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.7846,
"after": 1.0,
"delta": 0.2154,
"percent_delta": 0.2745,
"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.7846,
"after": 1.0,
"delta": 0.2154,
"percent_delta": 0.2745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2514,
"after": 0.2,
"delta": -0.0514,
"percent_delta": -0.2045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2864,
"after": 0.2,
"delta": -0.0864,
"percent_delta": -0.3017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4168,
"after": 0.2,
"delta": -0.2168,
"percent_delta": -0.5202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4168,
"after": 0.2,
"delta": -0.2168,
"percent_delta": -0.5202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2514,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2864,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4168,
"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.2,
"after": 0.2514,
"delta": 0.0514,
"percent_delta": 0.257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2864,
"delta": 0.0864,
"percent_delta": 0.4318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4168,
"delta": 0.2168,
"percent_delta": 1.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4168,
"delta": 0.2168,
"percent_delta": 1.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.64,
"after": 4.0,
"delta": -0.64,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2514,
"delta": 0.0154,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2864,
"delta": -0.0036,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.4168,
"delta": 0.0048,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2514,
"delta": 0.0154,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.640 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.247 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.694 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.412 | - |
| 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.180 | 0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.503 | -0.137 |
| predicted_AVG | 0.243 | 0.007 |
| predicted_BB | 0.218 | -0.029 |
| predicted_H | 1.097 | -0.003 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.183 | 0.013 |
| predicted_OBP | 0.287 | -0.003 |
| predicted_R | 0.742 | 0.048 |
| predicted_RBI | 0.577 | 0.017 |
| predicted_SLG | 0.422 | 0.010 |
| predicted_SO | 1.036 | 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.180 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.503 | 0.000 |
| predicted_AVG | 0.251 | 0.008 |
| predicted_BB | 0.221 | 0.002 |
| predicted_H | 1.132 | 0.035 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.188 | 0.005 |
| predicted_OBP | 0.286 | -0.001 |
| predicted_R | 0.785 | 0.043 |
| predicted_RBI | 0.610 | 0.033 |
| predicted_SLG | 0.417 | -0.006 |
| predicted_SO | 1.025 | -0.011 |
AB rounded to 5 (raw=4.64), rates preserved: AVG=0.244 HR/AB=0.040
| 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.180 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.497 |
| predicted_AVG | 0.200 | -0.051 |
| predicted_BB | 0.000 | -0.221 |
| predicted_H | 1.000 | -0.132 |
| predicted_HR | 0.000 | -0.188 |
| predicted_OBP | 0.200 | -0.086 |
| predicted_R | 1.000 | 0.215 |
| predicted_RBI | 1.000 | 0.390 |
| predicted_SLG | 0.200 | -0.217 |
| predicted_SO | 1.000 | -0.025 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 6.000 | 1.000 | 0.000 | 2.000 | 6.000 | 5.000 | 0.000 | 6.000 | 0.2609 | 0.2609 | 0.5652 | 0.2609 | 0.0870 | 0.2609 | 0.0000 | 0.2609 |
| last_10 | 0.20 | 10 | - | 45.000 | 13.000 | 2.000 | 0.000 | 3.000 | 8.000 | 11.000 | 1.000 | 12.000 | 0.2889 | 0.3043 | 0.5333 | 0.2889 | 0.0667 | 0.1778 | 0.0222 | 0.2667 |
| season | 0.60 | 85 | - | 360.000 | 86.000 | 15.000 | 0.000 | 10.000 | 31.000 | 59.000 | 21.000 | 86.000 | 0.2389 | 0.2820 | 0.3639 | 0.2389 | 0.0278 | 0.0861 | 0.0583 | 0.2389 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.3210 |
| predicted_AVG | 0.2529 |
| predicted_BB | 0.1800 |
| predicted_H | 1.0930 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2010 |
| predicted_OBP | 0.2840 |
| predicted_R | 0.8060 |
| predicted_RBI | 0.5990 |
| predicted_SLG | 0.4360 |
| predicted_SO | 1.0670 |
| 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.6400 | 4.3210 | 4.5032 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2529 | 0.2432 | model_form_blend |
| predicted_BB | 0.2470 | 0.1800 | 0.2183 | model_form_blend |
| predicted_H | 1.1000 | 1.0930 | 1.0970 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1700 | 0.2010 | 0.1833 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2840 | 0.2874 | model_form_blend |
| predicted_R | 0.6940 | 0.8060 | 0.7420 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5990 | 0.5767 | model_form_blend |
| predicted_SLG | 0.4120 | 0.4360 | 0.4223 | model_form_blend |
| predicted_SO | 1.0120 | 1.0670 | 1.0356 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 274 |
| Season rows before report date | 274 |
| 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.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | SS |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 607208 |
| playerID | 607208 |
| playerName | Trea Turner |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.284 |
| sl_xwoba | 0.282 |
| sl_xba | 0.237 |
| sl_xslg | 0.355 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 39.5 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 27.8 |
| 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.182 | 0.000 | 0.000 | Hitting_2B | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.770 | 4.000 | 4.000 | Hitting_AB | 3.615 | 4.000 | 0.385 | 0.000 |
| predicted_AVG | 0.255 | 0.250 | 0.250 | Hitting_AVG | 0.277 | 0.000 | -0.027 | 0.250 |
| predicted_BB | 0.614 | 0.000 | 1.000 | Hitting_BB | 0.653 | 0.000 | -0.653 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.242 | 0.000 | 0.758 | 1.000 |
| predicted_OBP | 0.344 | 0.250 | 0.400 | Hitting_OBP | 0.383 | 0.000 | -0.133 | 0.250 |
| predicted_R | 0.636 | 1.000 | 1.000 | Hitting_R | 0.642 | 0.000 | 0.358 | 1.000 |
| predicted_RBI | 0.700 | 3.000 | 1.000 | Hitting_RBI | 0.645 | 0.000 | 2.355 | 3.000 |
| predicted_SLG | 0.471 | 1.000 | 0.250 | Hitting_SLG | 0.540 | 0.000 | 0.460 | 1.000 |
| predicted_SO | 0.864 | 3.000 | 1.000 | Hitting_SO | 0.789 | 3.000 | 2.211 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.7000 -> 3.0000 (boost 2.3000, better) |
| Biggest Deboost | predicted_BB: 0.6140 -> 0.0000 (deboost -0.6140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 2 | 2 | predicted_SO: 0.8640 -> 0.9445 (boost 0.0805, worse) | predicted_R: 0.6360 -> 0.5675 (deboost -0.0685, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3507 -> 0.3694 (boost 0.0187, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.6079 -> 1.0000 (boost 0.3921, better) | predicted_2B: 0.1996 -> 0.0000 (deboost -0.1996, worse) | AB rounded to 4 (raw=3.77), rates preserved: AVG=0.265 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6001 -> 1.0000 (boost 0.3999, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3694 -> 0.4000 (boost 0.0306, better) | predicted_SLG: 0.4790 -> 0.2500 (deboost -0.2290, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 2 | 2 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.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.4790 (boost 0.2290, better) | predicted_OBP: 0.4000 -> 0.3694 (deboost -0.0306, 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.182,
"predicted_3B": 0.023,
"predicted_AB": 3.77,
"predicted_AVG": 0.255,
"predicted_BB": 0.614,
"predicted_H": 0.96,
"predicted_HR": 0.17,
"predicted_OBP": 0.344,
"predicted_R": 0.636,
"predicted_RBI": 0.7,
"predicted_SLG": 0.471,
"predicted_SO": 0.864
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0191,
"predicted_AB": 3.7434,
"predicted_AVG": 0.259,
"predicted_BB": 0.6016,
"predicted_H": 0.9686,
"predicted_HBP": 0.002,
"predicted_HR": 0.1807,
"predicted_OBP": 0.3507,
"predicted_R": 0.5675,
"predicted_RBI": 0.7347,
"predicted_SLG": 0.4791,
"predicted_SO": 0.9445
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1996,
"delta": 0.0176,
"percent_delta": 0.0967,
"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.77,
"after": 3.7434,
"delta": -0.0266,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.259,
"delta": 0.004,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.614,
"after": 0.6016,
"delta": -0.0124,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9686,
"delta": 0.0086,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1807,
"delta": 0.0107,
"percent_delta": 0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3507,
"delta": 0.0067,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 0.5675,
"delta": -0.0685,
"percent_delta": -0.1077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.7347,
"delta": 0.0347,
"percent_delta": 0.0496,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4791,
"delta": 0.0081,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 0.9445,
"delta": 0.0805,
"percent_delta": 0.0932,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.864,
"after": 0.9445,
"delta": 0.0805,
"percent_delta": 0.0932,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.636,
"after": 0.5675,
"delta": -0.0685,
"percent_delta": -0.1077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 88
}
},
{
"index": 3,
"step": "team_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.0191,
"predicted_AB": 3.7434,
"predicted_AVG": 0.267,
"predicted_BB": 0.6079,
"predicted_H": 0.9996,
"predicted_HBP": 0.002,
"predicted_HR": 0.1852,
"predicted_OBP": 0.3694,
"predicted_R": 0.6001,
"predicted_RBI": 0.7769,
"predicted_SLG": 0.479,
"predicted_SO": 0.9347
},
"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.0191,
"after": 0.0191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7434,
"after": 3.7434,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.267,
"delta": 0.008,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6016,
"after": 0.6079,
"delta": 0.0063,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9686,
"after": 0.9996,
"delta": 0.031,
"percent_delta": 0.032,
"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.1807,
"after": 0.1852,
"delta": 0.0045,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3507,
"after": 0.3694,
"delta": 0.0187,
"percent_delta": 0.0533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5675,
"after": 0.6001,
"delta": 0.0326,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7347,
"after": 0.7769,
"delta": 0.0422,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4791,
"after": 0.479,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9445,
"after": 0.9347,
"delta": -0.0098,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3507,
"after": 0.3694,
"delta": 0.0187,
"percent_delta": 0.0533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.77), rates preserved: AVG=0.265 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.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.0191,
"after": 0.0,
"delta": -0.0191,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7434,
"after": 4.0,
"delta": 0.2566,
"percent_delta": 0.0685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6079,
"after": 1.0,
"delta": 0.3921,
"percent_delta": 0.645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9996,
"after": 1.0,
"delta": 0.0004,
"percent_delta": 0.0004,
"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.1852,
"after": 0.0,
"delta": -0.1852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7769,
"after": 1.0,
"delta": 0.2231,
"percent_delta": 0.2872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9347,
"after": 1.0,
"delta": 0.0653,
"percent_delta": 0.0699,
"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.6079,
"after": 1.0,
"delta": 0.3921,
"percent_delta": 0.645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1996,
"after": 0.0,
"delta": -0.1996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6001,
"after": 1.0,
"delta": 0.3999,
"percent_delta": 0.6664,
"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.6001,
"after": 1.0,
"delta": 0.3999,
"percent_delta": 0.6664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.267,
"after": 0.25,
"delta": -0.017,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3694,
"after": 0.4,
"delta": 0.0306,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.479,
"after": 0.25,
"delta": -0.229,
"percent_delta": -0.4781,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3694,
"after": 0.4,
"delta": 0.0306,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.479,
"after": 0.25,
"delta": -0.229,
"percent_delta": -0.4781,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.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_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_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.267,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3694,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.479,
"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.267,
"delta": 0.017,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3694,
"delta": -0.0306,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.479,
"delta": 0.229,
"percent_delta": 0.916,
"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.479,
"delta": 0.229,
"percent_delta": 0.916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3694,
"delta": -0.0306,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 4.0,
"delta": 0.23,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.267,
"delta": 0.012,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.614,
"after": 0.0,
"delta": -0.614,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3694,
"delta": 0.0254,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 1.0,
"delta": 0.364,
"percent_delta": 0.5723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 3.0,
"delta": 2.3,
"percent_delta": 3.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.479,
"delta": 0.008,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 3.0,
"delta": 2.136,
"percent_delta": 2.4722,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7,
"after": 3.0,
"delta": 2.3,
"percent_delta": 3.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.614,
"after": 0.0,
"delta": -0.614,
"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.182 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.614 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.636 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.864 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.018 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.743 | -0.027 |
| predicted_AVG | 0.259 | 0.004 |
| predicted_BB | 0.602 | -0.012 |
| predicted_H | 0.969 | 0.009 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.181 | 0.011 |
| predicted_OBP | 0.351 | 0.007 |
| predicted_R | 0.568 | -0.069 |
| predicted_RBI | 0.735 | 0.035 |
| predicted_SLG | 0.479 | 0.008 |
| predicted_SO | 0.945 | 0.081 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.743 | 0.000 |
| predicted_AVG | 0.267 | 0.008 |
| predicted_BB | 0.608 | 0.006 |
| predicted_H | 1.000 | 0.031 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.185 | 0.005 |
| predicted_OBP | 0.369 | 0.019 |
| predicted_R | 0.600 | 0.033 |
| predicted_RBI | 0.777 | 0.042 |
| predicted_SLG | 0.479 | -0.000 |
| predicted_SO | 0.935 | -0.010 |
AB rounded to 4 (raw=3.77), rates preserved: AVG=0.265 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.200 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.257 |
| predicted_AVG | 0.250 | -0.017 |
| predicted_BB | 1.000 | 0.392 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | -0.185 |
| predicted_OBP | 0.400 | 0.031 |
| predicted_R | 1.000 | 0.400 |
| predicted_RBI | 1.000 | 0.223 |
| predicted_SLG | 0.250 | -0.229 |
| predicted_SO | 1.000 | 0.065 |
Attached simulation box 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 | 3.000 | 2.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 | - | 20.000 | 4.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.000 | 3.000 | 8.000 | 0.2000 | 0.3043 | 0.3000 | 0.2000 | 0.0000 | 0.2000 | 0.1500 | 0.4000 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 2.000 | 0.000 | 3.000 | 13.000 | 4.000 | 6.000 | 12.000 | 0.3158 | 0.4000 | 0.6053 | 0.3158 | 0.0790 | 0.3421 | 0.1579 | 0.3158 |
| season | 0.60 | 88 | - | 314.000 | 85.000 | 16.000 | 2.000 | 20.000 | 57.000 | 56.000 | 54.000 | 76.000 | 0.2707 | 0.3717 | 0.5255 | 0.2707 | 0.0637 | 0.1815 | 0.1720 | 0.2420 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2230 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7080 |
| predicted_AVG | 0.2643 |
| predicted_BB | 0.5850 |
| predicted_H | 0.9800 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1950 |
| predicted_OBP | 0.3596 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.7810 |
| predicted_SLG | 0.4899 |
| predicted_SO | 1.0520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.2230 | 0.1996 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 3.7700 | 3.7080 | 3.7434 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2643 | 0.2590 | model_form_blend |
| predicted_BB | 0.6140 | 0.5850 | 0.6016 | model_form_blend |
| predicted_H | 0.9600 | 0.9800 | 0.9686 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1700 | 0.1950 | 0.1807 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3596 | 0.3507 | model_form_blend |
| predicted_R | 0.6360 | 0.4760 | 0.5675 | model_form_blend |
| predicted_RBI | 0.7000 | 0.7810 | 0.7347 | model_form_blend |
| predicted_SLG | 0.4710 | 0.4899 | 0.4791 | model_form_blend |
| predicted_SO | 0.8640 | 1.0520 | 0.9445 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 265 |
| Season rows before report date | 265 |
| Report year | 2026 |
| Profile rows used | 88 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 3 |
| 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 | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 547180 |
| playerID | 547180 |
| playerName | Bryce Harper |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.381 |
| sl_xwoba | 0.403 |
| sl_xba | 0.289 |
| sl_xslg | 0.542 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 51.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.107 | 0.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.170 | 3.000 | 4.000 | Hitting_AB | 3.871 | 3.000 | -0.871 | 0.000 |
| predicted_AVG | 0.244 | 0.000 | 0.250 | Hitting_AVG | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_BB | 0.631 | 1.000 | 1.000 | Hitting_BB | 0.618 | 1.000 | 0.382 | 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.971 | 0.000 | -0.971 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.390 | 0.000 | -0.390 | 0.000 |
| predicted_OBP | 0.352 | 0.250 | 0.400 | Hitting_OBP | 0.364 | 0.250 | -0.114 | 0.000 |
| predicted_R | 0.643 | 0.000 | 1.000 | Hitting_R | 0.688 | 0.000 | -0.688 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.739 | 0.000 | -0.739 | 0.000 |
| predicted_SLG | 0.449 | 0.000 | 0.250 | Hitting_SLG | 0.610 | 0.000 | -0.610 | 0.000 |
| predicted_SO | 1.560 | 1.000 | 1.000 | Hitting_SO | 1.533 | 1.000 | -0.533 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.6310 -> 1.0000 (boost 0.3690, better) |
| Biggest Deboost | predicted_AB: 4.1700 -> 3.0000 (deboost -1.1700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_OBP: 0.3520 -> 0.3597 (boost 0.0077, better) | predicted_AB: 4.1700 -> 4.0084 (deboost -0.1616, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2497 -> 0.2577 (boost 0.0080, better) | - | 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_BB: 0.6536 -> 1.0000 (boost 0.3464, better) | predicted_SO: 1.5438 -> 1.0000 (deboost -0.5438, better) | AB rounded to 4 (raw=4.17), rates preserved: AVG=0.248 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6174 -> 1.0000 (boost 0.3826, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3618 -> 0.4000 (boost 0.0382, better) | predicted_SLG: 0.4543 -> 0.2500 (deboost -0.2043, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4543 (boost 0.2043, better) | predicted_OBP: 0.4000 -> 0.3618 (deboost -0.0382, 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.107,
"predicted_3B": 0.012,
"predicted_AB": 4.17,
"predicted_AVG": 0.244,
"predicted_BB": 0.631,
"predicted_H": 1.02,
"predicted_HR": 0.22,
"predicted_OBP": 0.352,
"predicted_R": 0.643,
"predicted_RBI": 0.48,
"predicted_SLG": 0.449,
"predicted_SO": 1.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.092,
"predicted_3B": 0.0103,
"predicted_AB": 4.0084,
"predicted_AVG": 0.2497,
"predicted_BB": 0.6469,
"predicted_H": 1.0011,
"predicted_HBP": 0.029,
"predicted_HR": 0.2196,
"predicted_OBP": 0.3597,
"predicted_R": 0.5839,
"predicted_RBI": 0.4659,
"predicted_SLG": 0.4511,
"predicted_SO": 1.56
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.092,
"delta": -0.015,
"percent_delta": -0.1402,
"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.17,
"after": 4.0084,
"delta": -0.1616,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2497,
"delta": 0.0057,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.631,
"after": 0.6469,
"delta": 0.0159,
"percent_delta": 0.0252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0011,
"delta": -0.0189,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2196,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3597,
"delta": 0.0077,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.643,
"after": 0.5839,
"delta": -0.0591,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4659,
"delta": -0.0141,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4511,
"delta": 0.0021,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.56,
"after": 1.56,
"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_OBP",
"before": 0.352,
"after": 0.3597,
"delta": 0.0077,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0084,
"delta": -0.1616,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.092,
"predicted_3B": 0.0103,
"predicted_AB": 4.0084,
"predicted_AVG": 0.2577,
"predicted_BB": 0.6536,
"predicted_H": 1.0331,
"predicted_HBP": 0.029,
"predicted_HR": 0.2251,
"predicted_OBP": 0.3618,
"predicted_R": 0.6174,
"predicted_RBI": 0.4926,
"predicted_SLG": 0.4543,
"predicted_SO": 1.5438
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.092,
"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.0084,
"after": 4.0084,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2497,
"after": 0.2577,
"delta": 0.008,
"percent_delta": 0.032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6469,
"after": 0.6536,
"delta": 0.0067,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0011,
"after": 1.0331,
"delta": 0.032,
"percent_delta": 0.032,
"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.2196,
"after": 0.2251,
"delta": 0.0055,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3597,
"after": 0.3618,
"delta": 0.0021,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5839,
"after": 0.6174,
"delta": 0.0335,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4659,
"after": 0.4926,
"delta": 0.0267,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4511,
"after": 0.4543,
"delta": 0.0032,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.56,
"after": 1.5438,
"delta": -0.0162,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2497,
"after": 0.2577,
"delta": 0.008,
"percent_delta": 0.032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.17), rates preserved: AVG=0.248 HR/AB=0.054",
"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.092,
"after": 0.0,
"delta": -0.092,
"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.0084,
"after": 4.0,
"delta": -0.0084,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6536,
"after": 1.0,
"delta": 0.3464,
"percent_delta": 0.53,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0331,
"after": 1.0,
"delta": -0.0331,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2251,
"after": 0.0,
"delta": -0.2251,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4926,
"after": 0.0,
"delta": -0.4926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5438,
"after": 1.0,
"delta": -0.5438,
"percent_delta": -0.3522,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6536,
"after": 1.0,
"delta": 0.3464,
"percent_delta": 0.53,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5438,
"after": 1.0,
"delta": -0.5438,
"percent_delta": -0.3522,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6174,
"after": 1.0,
"delta": 0.3826,
"percent_delta": 0.6197,
"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.6174,
"after": 1.0,
"delta": 0.3826,
"percent_delta": 0.6197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2577,
"after": 0.25,
"delta": -0.0077,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3618,
"after": 0.4,
"delta": 0.0382,
"percent_delta": 0.1056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4543,
"after": 0.25,
"delta": -0.2043,
"percent_delta": -0.4497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3618,
"after": 0.4,
"delta": 0.0382,
"percent_delta": 0.1056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4543,
"after": 0.25,
"delta": -0.2043,
"percent_delta": -0.4497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2577,
"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.3618,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4543,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2577,
"delta": 0.0077,
"percent_delta": 0.031,
"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.3618,
"delta": -0.0382,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4543,
"delta": 0.2043,
"percent_delta": 0.8173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4543,
"delta": 0.2043,
"percent_delta": 0.8173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3618,
"delta": -0.0382,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 3.0,
"delta": -1.17,
"percent_delta": -0.2806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2577,
"delta": 0.0137,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.631,
"after": 1.0,
"delta": 0.369,
"percent_delta": 0.5848,
"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.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3618,
"delta": 0.0098,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.643,
"after": 0.0,
"delta": -0.643,
"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.449,
"after": 0.4543,
"delta": 0.0053,
"percent_delta": 0.0118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.56,
"after": 1.0,
"delta": -0.56,
"percent_delta": -0.359,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.631,
"after": 1.0,
"delta": 0.369,
"percent_delta": 0.5848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 3.0,
"delta": -1.17,
"percent_delta": -0.2806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.170 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.631 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.352 | - |
| predicted_R | 0.643 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 1.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.092 | -0.015 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.008 | -0.162 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 0.647 | 0.016 |
| predicted_H | 1.001 | -0.019 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.220 | -0.000 |
| predicted_OBP | 0.360 | 0.008 |
| predicted_R | 0.584 | -0.059 |
| predicted_RBI | 0.466 | -0.014 |
| predicted_SLG | 0.451 | 0.002 |
| predicted_SO | 1.560 | 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.092 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.008 | 0.000 |
| predicted_AVG | 0.258 | 0.008 |
| predicted_BB | 0.654 | 0.007 |
| predicted_H | 1.033 | 0.032 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.225 | 0.006 |
| predicted_OBP | 0.362 | 0.002 |
| predicted_R | 0.617 | 0.033 |
| predicted_RBI | 0.493 | 0.027 |
| predicted_SLG | 0.454 | 0.003 |
| predicted_SO | 1.544 | -0.016 |
AB rounded to 4 (raw=4.17), rates preserved: AVG=0.248 HR/AB=0.054
| 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.092 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.008 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 1.000 | 0.346 |
| predicted_H | 1.000 | -0.033 |
| predicted_HR | 0.000 | -0.225 |
| predicted_OBP | 0.400 | 0.038 |
| predicted_R | 1.000 | 0.383 |
| predicted_RBI | 0.000 | -0.493 |
| predicted_SLG | 0.250 | -0.204 |
| predicted_SO | 1.000 | -0.544 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 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 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 9.000 | 0.2632 | 0.3913 | 0.2632 | 0.2632 | 0.0000 | 0.0000 | 0.2105 | 0.4737 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 8.000 | 16.000 | 0.2703 | 0.3913 | 0.3514 | 0.2703 | 0.0270 | 0.0811 | 0.2162 | 0.4324 |
| season | 0.60 | 84 | - | 321.000 | 81.000 | 9.000 | 1.000 | 29.000 | 54.000 | 54.000 | 53.000 | 131.000 | 0.2523 | 0.3641 | 0.5576 | 0.2523 | 0.0903 | 0.1682 | 0.1651 | 0.4081 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0720 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7930 |
| predicted_AVG | 0.2573 |
| predicted_BB | 0.6680 |
| predicted_H | 0.9760 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.2190 |
| predicted_OBP | 0.3699 |
| predicted_R | 0.5050 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.4540 |
| predicted_SO | 1.5600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.0720 | 0.0920 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.1700 | 3.7930 | 4.0084 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2573 | 0.2497 | model_form_blend |
| predicted_BB | 0.6310 | 0.6680 | 0.6469 | model_form_blend |
| predicted_H | 1.0200 | 0.9760 | 1.0011 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2200 | 0.2190 | 0.2196 | model_form_blend |
| predicted_OBP | 0.3520 | 0.3699 | 0.3597 | model_form_blend |
| predicted_R | 0.6430 | 0.5050 | 0.5839 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4470 | 0.4659 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4540 | 0.4511 | model_form_blend |
| predicted_SO | 1.5600 | 1.5600 | 1.5600 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.252 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260705_PHI@KC |
| game_type | full |
| mlbID | 656941 |
| playerID | 656941 |
| playerName | Kyle Schwarber |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-05 |
| sl_k_percent | 34.1 |
| sl_bb_percent | 14.6 |
| sl_woba | 0.398 |
| sl_xwoba | 0.384 |
| sl_xba | 0.249 |
| sl_xslg | 0.531 |
| sl_sweet_spot_percent | 39.9 |
| sl_barrel_batted_rate | 19.3 |
| sl_hard_hit_percent | 53.9 |
| sl_exit_velocity_avg | 93.5 |
| sl_launch_angle_avg | 20.9 |
| sl_whiff_percent | 34.7 |
| 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.106 | 0.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 2.872 | 4.000 | 3.000 | Hitting_AB | 3.139 | 4.000 | 0.861 | 0.000 |
| predicted_AVG | 0.236 | 0.250 | 0.333 | Hitting_AVG | 0.198 | 0.000 | 0.052 | 0.250 |
| predicted_BB | 0.043 | 0.000 | 0.000 | Hitting_BB | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.280 | 1.000 | 1.000 | Hitting_H | 0.620 | 0.000 | 0.380 | 1.000 |
| predicted_HR | 0.050 | 1.000 | 0.000 | Hitting_HR | 0.074 | 0.000 | 0.926 | 1.000 |
| predicted_OBP | 0.236 | 0.250 | 0.333 | Hitting_OBP | 0.235 | 0.000 | 0.015 | 0.250 |
| predicted_R | 0.340 | 1.000 | 0.000 | Hitting_R | 0.343 | 0.000 | 0.657 | 1.000 |
| predicted_RBI | 0.220 | 1.000 | 0.000 | Hitting_RBI | 0.472 | 0.000 | 0.528 | 1.000 |
| predicted_SLG | 0.382 | 1.000 | 0.333 | Hitting_SLG | 0.310 | 0.000 | 0.690 | 1.000 |
| predicted_SO | 0.681 | 2.000 | 1.000 | Hitting_SO | 0.741 | 0.000 | 1.259 | 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_SO: 0.6810 -> 2.0000 (boost 1.3190, worse) |
| Biggest Deboost | predicted_2B: 0.1060 -> 0.0000 (deboost -0.1060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2800 -> 0.4329 (boost 0.1529, better) | predicted_AVG: 0.2360 -> 0.2251 (deboost -0.0109, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3842 -> 0.2867 (deboost -0.0975, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.6886 -> 1.0000 (boost 0.3114, worse) | predicted_H: 0.4468 -> 0.0000 (deboost -0.4468, worse) | AB rounded to 3 (raw=2.99), rates preserved: AVG=0.149 HR/AB=0.027 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3794 -> 0.0000 (deboost -0.3794, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1493 -> 0.3330 (boost 0.1837, better) | - | 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_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.1493 (deboost -0.1837, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624641",
"player_name": "Edmundo Sosa",
"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.106,
"predicted_3B": 0.021,
"predicted_AB": 2.872,
"predicted_AVG": 0.236,
"predicted_BB": 0.043,
"predicted_H": 0.28,
"predicted_HR": 0.05,
"predicted_OBP": 0.236,
"predicted_R": 0.34,
"predicted_RBI": 0.22,
"predicted_SLG": 0.382,
"predicted_SO": 0.681
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1164,
"predicted_3B": 0.0246,
"predicted_AB": 2.993,
"predicted_AVG": 0.2251,
"predicted_BB": 0.0506,
"predicted_H": 0.4329,
"predicted_HBP": 0.084,
"predicted_HR": 0.0799,
"predicted_OBP": 0.238,
"predicted_R": 0.3588,
"predicted_RBI": 0.3729,
"predicted_SLG": 0.3842,
"predicted_SO": 0.6958
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.106,
"after": 0.1164,
"delta": 0.0104,
"percent_delta": 0.0981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0246,
"delta": 0.0036,
"percent_delta": 0.1714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.872,
"after": 2.993,
"delta": 0.121,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2251,
"delta": -0.0109,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.043,
"after": 0.0506,
"delta": 0.0076,
"percent_delta": 0.1767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.4329,
"delta": 0.1529,
"percent_delta": 0.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0799,
"delta": 0.0299,
"percent_delta": 0.598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.236,
"after": 0.238,
"delta": 0.002,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 0.3588,
"delta": 0.0188,
"percent_delta": 0.0553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.3729,
"delta": 0.1529,
"percent_delta": 0.695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3842,
"delta": 0.0022,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 0.6958,
"delta": 0.0148,
"percent_delta": 0.0217,
"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.28,
"after": 0.4329,
"delta": 0.1529,
"percent_delta": 0.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2251,
"delta": -0.0109,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1164,
"predicted_3B": 0.0246,
"predicted_AB": 2.993,
"predicted_AVG": 0.1493,
"predicted_BB": 0.0511,
"predicted_H": 0.4468,
"predicted_HBP": 0.084,
"predicted_HR": 0.0819,
"predicted_OBP": 0.1636,
"predicted_R": 0.3794,
"predicted_RBI": 0.3943,
"predicted_SLG": 0.2867,
"predicted_SO": 0.6886
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1164,
"after": 0.1164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0246,
"after": 0.0246,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.993,
"after": 2.993,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2251,
"after": 0.1493,
"delta": -0.0758,
"percent_delta": -0.3367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0506,
"after": 0.0511,
"delta": 0.0005,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4329,
"after": 0.4468,
"delta": 0.0139,
"percent_delta": 0.0321,
"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.0799,
"after": 0.0819,
"delta": 0.002,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.238,
"after": 0.1636,
"delta": -0.0744,
"percent_delta": -0.3126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3588,
"after": 0.3794,
"delta": 0.0206,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3729,
"after": 0.3943,
"delta": 0.0214,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3842,
"after": 0.2867,
"delta": -0.0975,
"percent_delta": -0.2538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6958,
"after": 0.6886,
"delta": -0.0072,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3842,
"after": 0.2867,
"delta": -0.0975,
"percent_delta": -0.2538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.99), rates preserved: AVG=0.149 HR/AB=0.027",
"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.1164,
"after": 0.0,
"delta": -0.1164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0246,
"after": 0.0,
"delta": -0.0246,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.993,
"after": 3.0,
"delta": 0.007,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0511,
"after": 0.0,
"delta": -0.0511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4468,
"after": 0.0,
"delta": -0.4468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0819,
"after": 0.0,
"delta": -0.0819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3943,
"after": 0.0,
"delta": -0.3943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6886,
"after": 1.0,
"delta": 0.3114,
"percent_delta": 0.4522,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6886,
"after": 1.0,
"delta": 0.3114,
"percent_delta": 0.4522,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4468,
"after": 0.0,
"delta": -0.4468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3794,
"after": 0.0,
"delta": -0.3794,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3794,
"after": 0.0,
"delta": -0.3794,
"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.1493,
"after": 0.333,
"delta": 0.1837,
"percent_delta": 1.2304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1636,
"after": 0.333,
"delta": 0.1694,
"percent_delta": 1.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2867,
"after": 0.333,
"delta": 0.0463,
"percent_delta": 0.1615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1493,
"after": 0.333,
"delta": 0.1837,
"percent_delta": 1.2304,
"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": 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": 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": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"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": 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.1493,
"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.1636,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2867,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1493,
"delta": -0.1837,
"percent_delta": -0.5518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.1636,
"delta": -0.1694,
"percent_delta": -0.5088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2867,
"delta": -0.0463,
"percent_delta": -0.1391,
"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.1493,
"delta": -0.1837,
"percent_delta": -0.5518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.872,
"after": 4.0,
"delta": 1.128,
"percent_delta": 0.3928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.1493,
"delta": -0.0867,
"percent_delta": -0.3674,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 1.0,
"delta": 0.95,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.236,
"after": 0.1636,
"delta": -0.0724,
"percent_delta": -0.3068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.2867,
"delta": -0.0953,
"percent_delta": -0.2495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 2.0,
"delta": 1.319,
"percent_delta": 1.9369,
"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.681,
"after": 2.0,
"delta": 1.319,
"percent_delta": 1.9369,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"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.106 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 2.872 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.043 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.236 | - |
| predicted_R | 0.340 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 0.681 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.116 | 0.010 |
| predicted_3B | 0.025 | 0.004 |
| predicted_AB | 2.993 | 0.121 |
| predicted_AVG | 0.225 | -0.011 |
| predicted_BB | 0.051 | 0.008 |
| predicted_H | 0.433 | 0.153 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.080 | 0.030 |
| predicted_OBP | 0.238 | 0.002 |
| predicted_R | 0.359 | 0.019 |
| predicted_RBI | 0.373 | 0.153 |
| predicted_SLG | 0.384 | 0.002 |
| predicted_SO | 0.696 | 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.116 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 2.993 | 0.000 |
| predicted_AVG | 0.149 | -0.076 |
| predicted_BB | 0.051 | 0.001 |
| predicted_H | 0.447 | 0.014 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.082 | 0.002 |
| predicted_OBP | 0.164 | -0.074 |
| predicted_R | 0.379 | 0.021 |
| predicted_RBI | 0.394 | 0.021 |
| predicted_SLG | 0.287 | -0.097 |
| predicted_SO | 0.689 | -0.007 |
AB rounded to 3 (raw=2.99), rates preserved: AVG=0.149 HR/AB=0.027
| 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.025 |
| predicted_AB | 3.000 | 0.007 |
| predicted_AVG | 0.333 | 0.184 |
| predicted_BB | 0.000 | -0.051 |
| predicted_H | 1.000 | 0.553 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.333 | 0.169 |
| predicted_R | 0.000 | -0.379 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.333 | 0.046 |
| 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 | 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 | 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 | 1.000 | 0.000 | 1.000 | 5.000 | 2.000 | 0.000 | 4.000 | 0.1176 | 0.1176 | 0.3529 | 0.1177 | 0.0588 | 0.2941 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 1.000 | 1.000 | 1.000 | 6.000 | 4.000 | 0.000 | 6.000 | 0.2188 | 0.2647 | 0.4062 | 0.2188 | 0.0312 | 0.1875 | 0.0000 | 0.1875 |
| season | 0.60 | 47 | - | 135.000 | 30.000 | 5.000 | 1.000 | 5.000 | 24.000 | 16.000 | 2.000 | 32.000 | 0.2222 | 0.2517 | 0.3852 | 0.2222 | 0.0370 | 0.1778 | 0.0148 | 0.2370 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1320 |
| predicted_3B | 0.0300 |
| predicted_AB | 3.1750 |
| predicted_AVG | 0.2088 |
| predicted_BB | 0.0620 |
| predicted_H | 0.6630 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.2411 |
| predicted_R | 0.3870 |
| predicted_RBI | 0.6030 |
| predicted_SLG | 0.3875 |
| predicted_SO | 0.7180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1060 | 0.1320 | 0.1164 | model_form_blend |
| predicted_3B | 0.0210 | 0.0300 | 0.0246 | model_form_blend |
| predicted_AB | 2.8720 | 3.1750 | 2.9930 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2088 | 0.2251 | model_form_blend |
| predicted_BB | 0.0430 | 0.0620 | 0.0506 | model_form_blend |
| predicted_H | 0.2800 | 0.6630 | 0.4329 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.0500 | 0.1250 | 0.0799 | model_form_blend |
| predicted_OBP | 0.2360 | 0.2411 | 0.2380 | model_form_blend |
| predicted_R | 0.3400 | 0.3870 | 0.3588 | model_form_blend |
| predicted_RBI | 0.2200 | 0.6030 | 0.3729 | model_form_blend |
| predicted_SLG | 0.3820 | 0.3875 | 0.3842 | model_form_blend |
| predicted_SO | 0.6810 | 0.7180 | 0.6958 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 108 |
| Season rows before report date | 108 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 3B |
| gameID | 20260627_PHI@NYM |
| game_type | full |
| mlbID | 624641 |
| playerID | 624641 |
| playerName | Edmundo Sosa |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-27 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 2.1 |
| sl_woba | 0.278 |
| sl_xwoba | 0.341 |
| sl_xba | 0.288 |
| sl_xslg | 0.471 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 9.3 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 61.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.167 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 3.770 | 4.000 | 4.000 | Hitting_AB | 3.779 | 4.000 | 0.221 | 0.000 |
| predicted_AVG | 0.251 | 0.250 | 0.250 | Hitting_AVG | 0.330 | 0.250 | -0.080 | 0.000 |
| predicted_BB | 0.179 | 0.000 | 0.000 | Hitting_BB | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 1.248 | 1.000 | -0.248 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_OBP | 0.298 | 0.250 | 0.250 | Hitting_OBP | 0.362 | 0.250 | -0.112 | 0.000 |
| predicted_R | 0.595 | 1.000 | 1.000 | Hitting_R | 0.637 | 0.000 | 0.363 | 1.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.588 | 0.000 | -0.588 | 0.000 |
| predicted_SLG | 0.442 | 0.250 | 0.250 | Hitting_SLG | 0.516 | 0.250 | -0.266 | 0.000 |
| predicted_SO | 1.012 | 1.000 | 1.000 | Hitting_SO | 0.850 | 1.000 | 0.150 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_R: 0.5950 -> 1.0000 (boost 0.4050, 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 | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.7700 -> 3.8513 (boost 0.0813, better) | - | Final model input calibrated with local 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.4511 -> 0.4631 (boost 0.0120, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 2 | 3 | predicted_RBI: 0.5576 -> 1.0000 (boost 0.4424, better) | predicted_HR: 0.1948 -> 0.0000 (deboost -0.1948, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.262 HR/AB=0.051 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6130 -> 1.0000 (boost 0.3870, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4631 -> 0.2500 (deboost -0.2131, 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.2500 -> 0.4631 (boost 0.2131, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669016",
"player_name": "Brandon Marsh",
"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.167,
"predicted_3B": 0.024,
"predicted_AB": 3.77,
"predicted_AVG": 0.251,
"predicted_BB": 0.179,
"predicted_H": 0.94,
"predicted_HR": 0.17,
"predicted_OBP": 0.298,
"predicted_R": 0.595,
"predicted_RBI": 0.5,
"predicted_SLG": 0.442,
"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.1512,
"predicted_3B": 0.0202,
"predicted_AB": 3.8513,
"predicted_AVG": 0.2543,
"predicted_BB": 0.1854,
"predicted_H": 0.9762,
"predicted_HBP": 0.017,
"predicted_HR": 0.19,
"predicted_OBP": 0.2965,
"predicted_R": 0.5797,
"predicted_RBI": 0.5273,
"predicted_SLG": 0.4511,
"predicted_SO": 1.0495
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1512,
"delta": -0.0158,
"percent_delta": -0.0946,
"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.77,
"after": 3.8513,
"delta": 0.0813,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2543,
"delta": 0.0033,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.1854,
"delta": 0.0064,
"percent_delta": 0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9762,
"delta": 0.0362,
"percent_delta": 0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.19,
"delta": 0.02,
"percent_delta": 0.1176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2965,
"delta": -0.0015,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.5797,
"delta": -0.0153,
"percent_delta": -0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5273,
"delta": 0.0273,
"percent_delta": 0.0546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4511,
"delta": 0.0091,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 1.0495,
"delta": 0.0375,
"percent_delta": 0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 3.8513,
"delta": 0.0813,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1512,
"predicted_3B": 0.0202,
"predicted_AB": 3.8513,
"predicted_AVG": 0.2616,
"predicted_BB": 0.1873,
"predicted_H": 1.0074,
"predicted_HBP": 0.017,
"predicted_HR": 0.1948,
"predicted_OBP": 0.2958,
"predicted_R": 0.613,
"predicted_RBI": 0.5576,
"predicted_SLG": 0.4631,
"predicted_SO": 1.0386
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1512,
"after": 0.1512,
"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.8513,
"after": 3.8513,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2543,
"after": 0.2616,
"delta": 0.0073,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1854,
"after": 0.1873,
"delta": 0.0019,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9762,
"after": 1.0074,
"delta": 0.0312,
"percent_delta": 0.032,
"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.19,
"after": 0.1948,
"delta": 0.0048,
"percent_delta": 0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2965,
"after": 0.2958,
"delta": -0.0007,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5797,
"after": 0.613,
"delta": 0.0333,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5273,
"after": 0.5576,
"delta": 0.0303,
"percent_delta": 0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4511,
"after": 0.4631,
"delta": 0.012,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0495,
"after": 1.0386,
"delta": -0.0109,
"percent_delta": -0.0104,
"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.4511,
"after": 0.4631,
"delta": 0.012,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.262 HR/AB=0.051",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1512,
"after": 0.0,
"delta": -0.1512,
"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.8513,
"after": 4.0,
"delta": 0.1487,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1873,
"after": 0.0,
"delta": -0.1873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0074,
"after": 1.0,
"delta": -0.0074,
"percent_delta": -0.0073,
"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.1948,
"after": 0.0,
"delta": -0.1948,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5576,
"after": 1.0,
"delta": 0.4424,
"percent_delta": 0.7934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0386,
"after": 1.0,
"delta": -0.0386,
"percent_delta": -0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5576,
"after": 1.0,
"delta": 0.4424,
"percent_delta": 0.7934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1948,
"after": 0.0,
"delta": -0.1948,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"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.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2616,
"after": 0.25,
"delta": -0.0116,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2958,
"after": 0.25,
"delta": -0.0458,
"percent_delta": -0.1548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4631,
"after": 0.25,
"delta": -0.2131,
"percent_delta": -0.4602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4631,
"after": 0.25,
"delta": -0.2131,
"percent_delta": -0.4602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2616,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2958,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4631,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2616,
"delta": 0.0116,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2958,
"delta": 0.0458,
"percent_delta": 0.1833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4631,
"delta": 0.2131,
"percent_delta": 0.8522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4631,
"delta": 0.2131,
"percent_delta": 0.8522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 4.0,
"delta": 0.23,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2616,
"delta": 0.0106,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2958,
"delta": -0.0022,
"percent_delta": -0.0074,
"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.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4631,
"delta": 0.0211,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 1.0,
"delta": -0.012,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"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.167 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.179 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.442 | - |
| 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.151 | -0.016 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.851 | 0.081 |
| predicted_AVG | 0.254 | 0.003 |
| predicted_BB | 0.185 | 0.006 |
| predicted_H | 0.976 | 0.036 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.190 | 0.020 |
| predicted_OBP | 0.296 | -0.002 |
| predicted_R | 0.580 | -0.015 |
| predicted_RBI | 0.527 | 0.027 |
| predicted_SLG | 0.451 | 0.009 |
| predicted_SO | 1.050 | 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.151 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.851 | 0.000 |
| predicted_AVG | 0.262 | 0.007 |
| predicted_BB | 0.187 | 0.002 |
| predicted_H | 1.007 | 0.031 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.195 | 0.005 |
| predicted_OBP | 0.296 | -0.001 |
| predicted_R | 0.613 | 0.033 |
| predicted_RBI | 0.558 | 0.030 |
| predicted_SLG | 0.463 | 0.012 |
| predicted_SO | 1.039 | -0.011 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.262 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.151 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.149 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.000 | -0.187 |
| predicted_H | 1.000 | -0.007 |
| predicted_HR | 0.000 | -0.195 |
| predicted_OBP | 0.250 | -0.046 |
| predicted_R | 1.000 | 0.387 |
| predicted_RBI | 1.000 | 0.442 |
| predicted_SLG | 0.250 | -0.213 |
| predicted_SO | 1.000 | -0.039 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 6.000 | 0.1364 | 0.1739 | 0.2727 | 0.1364 | 0.0454 | 0.0909 | 0.0454 | 0.2727 |
| last_10 | 0.20 | 10 | - | 43.000 | 10.000 | 1.000 | 0.000 | 4.000 | 8.000 | 6.000 | 2.000 | 14.000 | 0.2326 | 0.2667 | 0.5349 | 0.2326 | 0.0930 | 0.1860 | 0.0465 | 0.3256 |
| season | 0.60 | 84 | - | 313.000 | 97.000 | 14.000 | 2.000 | 15.000 | 46.000 | 50.000 | 15.000 | 85.000 | 0.3099 | 0.3423 | 0.5112 | 0.3099 | 0.0479 | 0.1470 | 0.0479 | 0.2716 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1300 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.9610 |
| predicted_AVG | 0.2588 |
| predicted_BB | 0.1940 |
| predicted_H | 1.0250 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.2170 |
| predicted_OBP | 0.2945 |
| predicted_R | 0.5590 |
| predicted_RBI | 0.5640 |
| predicted_SLG | 0.4634 |
| predicted_SO | 1.1000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1300 | 0.1512 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0202 | model_form_blend |
| predicted_AB | 3.7700 | 3.9610 | 3.8513 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2588 | 0.2543 | model_form_blend |
| predicted_BB | 0.1790 | 0.1940 | 0.1854 | model_form_blend |
| predicted_H | 0.9400 | 1.0250 | 0.9762 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1700 | 0.2170 | 0.1900 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2945 | 0.2965 | model_form_blend |
| predicted_R | 0.5950 | 0.5590 | 0.5797 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5640 | 0.5273 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4634 | 0.4511 | model_form_blend |
| predicted_SO | 1.0120 | 1.1000 | 1.0495 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 226 |
| Season rows before report date | 226 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.31 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 669016 |
| playerID | 669016 |
| playerName | Brandon Marsh |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-05 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.365 |
| sl_xwoba | 0.327 |
| sl_xba | 0.276 |
| sl_xslg | 0.452 |
| sl_sweet_spot_percent | 46.1 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 26.0 |
| 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.150 | 0.000 | 0.000 | Hitting_2B | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.467 | 4.000 | 3.000 | Hitting_AB | 3.456 | 4.000 | 0.544 | 0.000 |
| predicted_AVG | 0.231 | 0.000 | 0.333 | Hitting_AVG | 0.238 | 0.250 | -0.238 | -0.250 |
| predicted_BB | 0.300 | 0.000 | 0.000 | Hitting_BB | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 0.823 | 1.000 | -0.823 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.082 | 1.000 | -0.082 | -1.000 |
| predicted_OBP | 0.289 | 0.000 | 0.333 | Hitting_OBP | 0.318 | 0.250 | -0.318 | -0.250 |
| predicted_R | 0.383 | 0.000 | 0.000 | Hitting_R | 0.361 | 1.000 | -0.361 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.373 | 2.000 | -0.373 | -2.000 |
| predicted_SLG | 0.359 | 0.000 | 0.333 | Hitting_SLG | 0.350 | 1.000 | -0.350 | -1.000 |
| predicted_SO | 0.783 | 0.000 | 1.000 | Hitting_SO | 0.671 | 0.000 | -0.671 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.4670 -> 4.0000 (boost 0.5330, better) |
| Biggest Deboost | predicted_SO: 0.7830 -> 0.0000 (deboost -0.7830, 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_AVG: 0.2310 -> 0.2166 (deboost -0.0144, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2871 -> 0.2694 (deboost -0.0177, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.7246 -> 1.0000 (boost 0.2754, better) | predicted_RBI: 0.5163 -> 0.0000 (deboost -0.5163, worse) | AB rounded to 3 (raw=3.49), rates preserved: AVG=0.208 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4133 -> 0.0000 (deboost -0.4133, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2077 -> 0.3330 (boost 0.1253, better) | predicted_SLG: 0.3477 -> 0.3330 (deboost -0.0147, 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.3477 (boost 0.0147, better) | predicted_AVG: 0.3330 -> 0.2077 (deboost -0.1253, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"position": "C",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.0,
"predicted_AB": 3.467,
"predicted_AVG": 0.231,
"predicted_BB": 0.3,
"predicted_H": 0.71,
"predicted_HR": 0.1,
"predicted_OBP": 0.289,
"predicted_R": 0.383,
"predicted_RBI": 0.45,
"predicted_SLG": 0.359,
"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.1508,
"predicted_3B": 0.0008,
"predicted_AB": 3.4878,
"predicted_AVG": 0.2166,
"predicted_BB": 0.2912,
"predicted_H": 0.7021,
"predicted_HBP": 0.165,
"predicted_HR": 0.1092,
"predicted_OBP": 0.2871,
"predicted_R": 0.3909,
"predicted_RBI": 0.4883,
"predicted_SLG": 0.353,
"predicted_SO": 0.8193
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.1508,
"delta": 0.0008,
"percent_delta": 0.0053,
"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.467,
"after": 3.4878,
"delta": 0.0208,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2166,
"delta": -0.0144,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.2912,
"delta": -0.0088,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7021,
"delta": -0.0079,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1092,
"delta": 0.0092,
"percent_delta": 0.092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2871,
"delta": -0.0019,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.383,
"after": 0.3909,
"delta": 0.0079,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4883,
"delta": 0.0383,
"percent_delta": 0.0851,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.353,
"delta": -0.006,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 0.8193,
"delta": 0.0363,
"percent_delta": 0.0464,
"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.231,
"after": 0.2166,
"delta": -0.0144,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1508,
"predicted_3B": 0.0008,
"predicted_AB": 3.4878,
"predicted_AVG": 0.2077,
"predicted_BB": 0.2942,
"predicted_H": 0.7246,
"predicted_HBP": 0.165,
"predicted_HR": 0.1119,
"predicted_OBP": 0.2694,
"predicted_R": 0.4133,
"predicted_RBI": 0.5163,
"predicted_SLG": 0.3477,
"predicted_SO": 0.8108
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1508,
"after": 0.1508,
"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.4878,
"after": 3.4878,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2166,
"after": 0.2077,
"delta": -0.0089,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2912,
"after": 0.2942,
"delta": 0.003,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7021,
"after": 0.7246,
"delta": 0.0225,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.165,
"after": 0.165,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1092,
"after": 0.1119,
"delta": 0.0027,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2871,
"after": 0.2694,
"delta": -0.0177,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3909,
"after": 0.4133,
"delta": 0.0224,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4883,
"after": 0.5163,
"delta": 0.028,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3477,
"delta": -0.0053,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8193,
"after": 0.8108,
"delta": -0.0085,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2871,
"after": 0.2694,
"delta": -0.0177,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.49), rates preserved: AVG=0.208 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1508,
"after": 0.0,
"delta": -0.1508,
"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.4878,
"after": 3.0,
"delta": -0.4878,
"percent_delta": -0.1399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2942,
"after": 0.0,
"delta": -0.2942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7246,
"after": 1.0,
"delta": 0.2754,
"percent_delta": 0.3801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1119,
"after": 0.0,
"delta": -0.1119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5163,
"after": 0.0,
"delta": -0.5163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8108,
"after": 1.0,
"delta": 0.1892,
"percent_delta": 0.2333,
"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.7246,
"after": 1.0,
"delta": 0.2754,
"percent_delta": 0.3801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5163,
"after": 0.0,
"delta": -0.5163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4133,
"after": 0.0,
"delta": -0.4133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4133,
"after": 0.0,
"delta": -0.4133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2077,
"after": 0.333,
"delta": 0.1253,
"percent_delta": 0.6033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2694,
"after": 0.333,
"delta": 0.0636,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3477,
"after": 0.333,
"delta": -0.0147,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2077,
"after": 0.333,
"delta": 0.1253,
"percent_delta": 0.6033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3477,
"after": 0.333,
"delta": -0.0147,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2077,
"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.2694,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3477,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2077,
"delta": -0.1253,
"percent_delta": -0.3761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2694,
"delta": -0.0636,
"percent_delta": -0.1911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3477,
"delta": 0.0147,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3477,
"delta": 0.0147,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2077,
"delta": -0.1253,
"percent_delta": -0.3761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.467,
"after": 4.0,
"delta": 0.533,
"percent_delta": 0.1537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2077,
"delta": -0.0233,
"percent_delta": -0.1009,
"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.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2694,
"delta": -0.0196,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3477,
"delta": -0.0113,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 0.0,
"delta": -0.783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.467,
"after": 4.0,
"delta": 0.533,
"percent_delta": 0.1537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.783,
"after": 0.0,
"delta": -0.783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.467 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.383 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.359 | - |
| 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.151 | 0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.488 | 0.021 |
| predicted_AVG | 0.217 | -0.014 |
| predicted_BB | 0.291 | -0.009 |
| predicted_H | 0.702 | -0.008 |
| predicted_HBP | 0.165 | - |
| predicted_HR | 0.109 | 0.009 |
| predicted_OBP | 0.287 | -0.002 |
| predicted_R | 0.391 | 0.008 |
| predicted_RBI | 0.488 | 0.038 |
| predicted_SLG | 0.353 | -0.006 |
| predicted_SO | 0.819 | 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.151 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.488 | 0.000 |
| predicted_AVG | 0.208 | -0.009 |
| predicted_BB | 0.294 | 0.003 |
| predicted_H | 0.725 | 0.023 |
| predicted_HBP | 0.165 | 0.000 |
| predicted_HR | 0.112 | 0.003 |
| predicted_OBP | 0.269 | -0.018 |
| predicted_R | 0.413 | 0.022 |
| predicted_RBI | 0.516 | 0.028 |
| predicted_SLG | 0.348 | -0.005 |
| predicted_SO | 0.811 | -0.009 |
AB rounded to 3 (raw=3.49), rates preserved: AVG=0.208 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.151 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.488 |
| predicted_AVG | 0.333 | 0.125 |
| predicted_BB | 0.000 | -0.294 |
| predicted_H | 1.000 | 0.275 |
| predicted_HR | 0.000 | -0.112 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 0.000 | -0.413 |
| predicted_RBI | 0.000 | -0.516 |
| predicted_SLG | 0.333 | -0.015 |
| predicted_SO | 1.000 | 0.189 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 17.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 6.000 | 0.1765 | 0.3000 | 0.3529 | 0.1765 | 0.0588 | 0.1765 | 0.0588 | 0.3529 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 3.000 | 0.000 | 1.000 | 8.000 | 4.000 | 3.000 | 8.000 | 0.1667 | 0.2619 | 0.3333 | 0.1667 | 0.0278 | 0.2222 | 0.0833 | 0.2222 |
| season | 0.60 | 60 | - | 208.000 | 42.000 | 9.000 | 0.000 | 6.000 | 27.000 | 23.000 | 18.000 | 47.000 | 0.2019 | 0.2821 | 0.3317 | 0.2019 | 0.0289 | 0.1298 | 0.0865 | 0.2260 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5170 |
| predicted_AVG | 0.1964 |
| predicted_BB | 0.2790 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.1650 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.2844 |
| predicted_R | 0.4020 |
| predicted_RBI | 0.5420 |
| predicted_SLG | 0.3446 |
| predicted_SO | 0.8700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1520 | 0.1508 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4670 | 3.5170 | 3.4878 | model_form_blend |
| predicted_AVG | 0.2310 | 0.1964 | 0.2166 | model_form_blend |
| predicted_BB | 0.3000 | 0.2790 | 0.2912 | model_form_blend |
| predicted_H | 0.7100 | 0.6910 | 0.7021 | model_form_blend |
| predicted_HBP | - | 0.1650 | 0.1650 | form_only |
| predicted_HR | 0.1000 | 0.1220 | 0.1092 | model_form_blend |
| predicted_OBP | 0.2890 | 0.2844 | 0.2871 | model_form_blend |
| predicted_R | 0.3830 | 0.4020 | 0.3909 | model_form_blend |
| predicted_RBI | 0.4500 | 0.5420 | 0.4883 | model_form_blend |
| predicted_SLG | 0.3590 | 0.3446 | 0.3530 | model_form_blend |
| predicted_SO | 0.7830 | 0.8700 | 0.8193 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 158 |
| Season rows before report date | 158 |
| Report year | 2026 |
| Profile rows used | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.202 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260704_PHI@KC |
| game_type | full |
| mlbID | 592663 |
| playerID | 592663 |
| playerName | J.T. Realmuto |
| pos | C |
| started | True |
| startingPosition | C |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-04 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.278 |
| sl_xwoba | 0.317 |
| sl_xba | 0.248 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 48.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.181 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.032 | 1.000 | -0.032 | -1.000 |
| predicted_AB | 3.506 | 4.000 | 4.000 | Hitting_AB | 3.598 | 4.000 | 0.402 | 0.000 |
| predicted_AVG | 0.263 | 0.250 | 0.250 | Hitting_AVG | 0.230 | 0.500 | 0.020 | -0.250 |
| predicted_BB | 0.277 | 0.000 | 0.000 | Hitting_BB | 0.260 | 0.000 | -0.260 | 0.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.826 | 2.000 | 0.174 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.327 | 0.250 | 0.250 | Hitting_OBP | 0.284 | 0.500 | -0.034 | -0.250 |
| predicted_R | 0.422 | 1.000 | 1.000 | Hitting_R | 0.365 | 2.000 | 0.635 | -1.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_SLG | 0.402 | 0.250 | 0.250 | Hitting_SLG | 0.379 | 1.000 | -0.129 | -0.750 |
| predicted_SO | 0.651 | 1.000 | 1.000 | Hitting_SO | 0.598 | 0.000 | 0.402 | 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_R: 0.4220 -> 1.0000 (boost 0.5780, better) |
| Biggest Deboost | predicted_RBI: 0.3400 -> 0.0000 (deboost -0.3400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.5060 -> 3.5782 (boost 0.0722, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4028 -> 0.4086 (boost 0.0058, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 3.5782 -> 4.0000 (boost 0.4218, better) | predicted_RBI: 0.3465 -> 0.0000 (deboost -0.3465, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.275 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5073 -> 1.0000 (boost 0.4927, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4086 -> 0.2500 (deboost -0.1586, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4086 (boost 0.1586, 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.181,
"predicted_3B": 0.036,
"predicted_AB": 3.506,
"predicted_AVG": 0.263,
"predicted_BB": 0.277,
"predicted_H": 0.89,
"predicted_HR": 0.08,
"predicted_OBP": 0.327,
"predicted_R": 0.422,
"predicted_RBI": 0.34,
"predicted_SLG": 0.402,
"predicted_SO": 0.651
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1547,
"predicted_3B": 0.0517,
"predicted_AB": 3.5782,
"predicted_AVG": 0.2715,
"predicted_BB": 0.2808,
"predicted_H": 0.9537,
"predicted_HBP": 0.017,
"predicted_HR": 0.0715,
"predicted_OBP": 0.3315,
"predicted_R": 0.4798,
"predicted_RBI": 0.3277,
"predicted_SLG": 0.4028,
"predicted_SO": 0.6739
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.1547,
"delta": -0.0263,
"percent_delta": -0.1453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0517,
"delta": 0.0157,
"percent_delta": 0.4361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.506,
"after": 3.5782,
"delta": 0.0722,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2715,
"delta": 0.0085,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 0.2808,
"delta": 0.0038,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9537,
"delta": 0.0637,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0715,
"delta": -0.0085,
"percent_delta": -0.1063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3315,
"delta": 0.0045,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.4798,
"delta": 0.0578,
"percent_delta": 0.137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3277,
"delta": -0.0123,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4028,
"delta": 0.0008,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.651,
"after": 0.6739,
"delta": 0.0229,
"percent_delta": 0.0352,
"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.506,
"after": 3.5782,
"delta": 0.0722,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1547,
"predicted_3B": 0.0517,
"predicted_AB": 3.5782,
"predicted_AVG": 0.2751,
"predicted_BB": 0.2837,
"predicted_H": 0.9842,
"predicted_HBP": 0.017,
"predicted_HR": 0.0733,
"predicted_OBP": 0.3283,
"predicted_R": 0.5073,
"predicted_RBI": 0.3465,
"predicted_SLG": 0.4086,
"predicted_SO": 0.6669
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1547,
"after": 0.1547,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0517,
"after": 0.0517,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5782,
"after": 3.5782,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2715,
"after": 0.2751,
"delta": 0.0036,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2808,
"after": 0.2837,
"delta": 0.0029,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9537,
"after": 0.9842,
"delta": 0.0305,
"percent_delta": 0.032,
"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.0715,
"after": 0.0733,
"delta": 0.0018,
"percent_delta": 0.0252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3315,
"after": 0.3283,
"delta": -0.0032,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4798,
"after": 0.5073,
"delta": 0.0275,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3277,
"after": 0.3465,
"delta": 0.0188,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4028,
"after": 0.4086,
"delta": 0.0058,
"percent_delta": 0.0144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6739,
"after": 0.6669,
"delta": -0.007,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4028,
"after": 0.4086,
"delta": 0.0058,
"percent_delta": 0.0144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.275 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.1547,
"after": 0.0,
"delta": -0.1547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0517,
"after": 0.0,
"delta": -0.0517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5782,
"after": 4.0,
"delta": 0.4218,
"percent_delta": 0.1179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2837,
"after": 0.0,
"delta": -0.2837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9842,
"after": 1.0,
"delta": 0.0158,
"percent_delta": 0.0161,
"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.0733,
"after": 0.0,
"delta": -0.0733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3465,
"after": 0.0,
"delta": -0.3465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6669,
"after": 1.0,
"delta": 0.3331,
"percent_delta": 0.4995,
"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": 3.5782,
"after": 4.0,
"delta": 0.4218,
"percent_delta": 0.1179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3465,
"after": 0.0,
"delta": -0.3465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5073,
"after": 1.0,
"delta": 0.4927,
"percent_delta": 0.9712,
"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.5073,
"after": 1.0,
"delta": 0.4927,
"percent_delta": 0.9712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2751,
"after": 0.25,
"delta": -0.0251,
"percent_delta": -0.0912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3283,
"after": 0.25,
"delta": -0.0783,
"percent_delta": -0.2385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4086,
"after": 0.25,
"delta": -0.1586,
"percent_delta": -0.3882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4086,
"after": 0.25,
"delta": -0.1586,
"percent_delta": -0.3882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2751,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3283,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4086,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2751,
"delta": 0.0251,
"percent_delta": 0.1002,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3283,
"delta": 0.0783,
"percent_delta": 0.3133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4086,
"delta": 0.1586,
"percent_delta": 0.6346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4086,
"delta": 0.1586,
"percent_delta": 0.6346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"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.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.506,
"after": 4.0,
"delta": 0.494,
"percent_delta": 0.1409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2751,
"delta": 0.0121,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 0.0,
"delta": -0.277,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3283,
"delta": 0.0013,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 1.0,
"delta": 0.578,
"percent_delta": 1.3697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4086,
"delta": 0.0066,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.651,
"after": 1.0,
"delta": 0.349,
"percent_delta": 0.5361,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.422,
"after": 1.0,
"delta": 0.578,
"percent_delta": 1.3697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 3.506 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.277 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.422 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.651 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | -0.026 |
| predicted_3B | 0.052 | 0.016 |
| predicted_AB | 3.578 | 0.072 |
| predicted_AVG | 0.272 | 0.009 |
| predicted_BB | 0.281 | 0.004 |
| predicted_H | 0.954 | 0.064 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.071 | -0.009 |
| predicted_OBP | 0.332 | 0.005 |
| predicted_R | 0.480 | 0.058 |
| predicted_RBI | 0.328 | -0.012 |
| predicted_SLG | 0.403 | 0.001 |
| predicted_SO | 0.674 | 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.155 | 0.000 |
| predicted_3B | 0.052 | 0.000 |
| predicted_AB | 3.578 | 0.000 |
| predicted_AVG | 0.275 | 0.004 |
| predicted_BB | 0.284 | 0.003 |
| predicted_H | 0.984 | 0.030 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.073 | 0.002 |
| predicted_OBP | 0.328 | -0.003 |
| predicted_R | 0.507 | 0.027 |
| predicted_RBI | 0.346 | 0.019 |
| predicted_SLG | 0.409 | 0.006 |
| predicted_SO | 0.667 | -0.007 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.275 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.155 |
| predicted_3B | 0.000 | -0.052 |
| predicted_AB | 4.000 | 0.422 |
| predicted_AVG | 0.250 | -0.025 |
| predicted_BB | 0.000 | -0.284 |
| predicted_H | 1.000 | 0.016 |
| predicted_HR | 0.000 | -0.073 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.493 |
| predicted_RBI | 0.000 | -0.346 |
| predicted_SLG | 0.250 | -0.159 |
| predicted_SO | 1.000 | 0.333 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 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 | 8.000 | 0.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 3.000 | 0.4000 | 0.4286 | 0.5000 | 0.4000 | 0.0000 | 0.0000 | 0.0500 | 0.1500 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 0.000 | 1.000 | 0.000 | 0.000 | 6.000 | 4.000 | 9.000 | 0.2895 | 0.3571 | 0.3421 | 0.2895 | 0.0000 | 0.0000 | 0.1053 | 0.2368 |
| season | 0.60 | 83 | - | 291.000 | 72.000 | 15.000 | 3.000 | 7.000 | 39.000 | 35.000 | 23.000 | 54.000 | 0.2474 | 0.3060 | 0.3918 | 0.2474 | 0.0240 | 0.1340 | 0.0790 | 0.1856 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0730 |
| predicted_AB | 3.6760 |
| predicted_AVG | 0.2830 |
| predicted_BB | 0.2860 |
| predicted_H | 1.0400 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.3377 |
| predicted_R | 0.5580 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.4040 |
| predicted_SO | 0.7050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.1190 | 0.1547 | model_form_blend |
| predicted_3B | 0.0360 | 0.0730 | 0.0517 | model_form_blend |
| predicted_AB | 3.5060 | 3.6760 | 3.5782 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2830 | 0.2715 | model_form_blend |
| predicted_BB | 0.2770 | 0.2860 | 0.2808 | model_form_blend |
| predicted_H | 0.8900 | 1.0400 | 0.9537 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0800 | 0.0600 | 0.0715 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3377 | 0.3315 | model_form_blend |
| predicted_R | 0.4220 | 0.5580 | 0.4798 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3110 | 0.3277 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4040 | 0.4028 | model_form_blend |
| predicted_SO | 0.6510 | 0.7050 | 0.6739 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.247 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| 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 | 2 |
| Hitting_RBI | 0 |
| 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 | 2B |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 681082 |
| playerID | 681082 |
| playerName | Bryson Stott |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-05 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.308 |
| sl_xwoba | 0.319 |
| sl_xba | 0.262 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 15.6 |
| sl_whiff_percent | 17.6 |
| 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.044 | 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 | 2.500 | 3.000 | 3.000 | Hitting_AB | 1.941 | 0.000 | 1.059 | 3.000 |
| predicted_AVG | 0.297 | 1.000 | 0.333 | Hitting_AVG | 0.303 | - | 0.697 | - |
| predicted_BB | 0.088 | 0.000 | 0.000 | Hitting_BB | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.180 | 3.000 | 1.000 | Hitting_H | 0.588 | 0.000 | 2.412 | 3.000 |
| predicted_HR | 0.040 | 1.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_OBP | 0.297 | 1.000 | 0.333 | Hitting_OBP | 0.324 | - | 0.676 | - |
| predicted_R | 0.354 | 1.000 | 0.000 | Hitting_R | 0.353 | 0.000 | 0.647 | 1.000 |
| predicted_RBI | 0.130 | 1.000 | 0.000 | Hitting_RBI | 0.294 | 0.000 | 0.706 | 1.000 |
| predicted_SLG | 0.443 | 2.000 | 0.333 | Hitting_SLG | 0.515 | - | 1.485 | - |
| predicted_SO | 0.973 | 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 | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.1800 -> 3.0000 (boost 2.8200, better) |
| Biggest Deboost | predicted_SO: 0.9730 -> 0.0000 (deboost -0.9730, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 0.1800 -> 0.3830 (boost 0.2030, better) | predicted_AVG: 0.2970 -> 0.2844 (deboost -0.0126, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4653 -> 0.2918 (deboost -0.1735, 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_AB: 2.5570 -> 3.0000 (boost 0.4430, better) | predicted_H: 0.3953 -> 0.0000 (deboost -0.3953, worse) | AB rounded to 3 (raw=2.56), rates preserved: AVG=0.155 HR/AB=0.039 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4197 -> 0.0000 (deboost -0.4197, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1546 -> 0.3330 (boost 0.1784, 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_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.1546 (deboost -0.1784, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656537",
"player_name": "Derek Hill",
"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.044,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.297,
"predicted_BB": 0.088,
"predicted_H": 0.18,
"predicted_HR": 0.04,
"predicted_OBP": 0.297,
"predicted_R": 0.354,
"predicted_RBI": 0.13,
"predicted_SLG": 0.443,
"predicted_SO": 0.973
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0522,
"predicted_3B": 0.0008,
"predicted_AB": 2.557,
"predicted_AVG": 0.2844,
"predicted_BB": 0.086,
"predicted_H": 0.383,
"predicted_HBP": 0.005,
"predicted_HR": 0.0966,
"predicted_OBP": 0.2938,
"predicted_R": 0.3969,
"predicted_RBI": 0.2463,
"predicted_SLG": 0.4653,
"predicted_SO": 0.9742
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.044,
"after": 0.0522,
"delta": 0.0082,
"percent_delta": 0.1864,
"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.557,
"delta": 0.057,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.297,
"after": 0.2844,
"delta": -0.0126,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.088,
"after": 0.086,
"delta": -0.002,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.383,
"delta": 0.203,
"percent_delta": 1.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0966,
"delta": 0.0566,
"percent_delta": 1.415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2938,
"delta": -0.0032,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.354,
"after": 0.3969,
"delta": 0.0429,
"percent_delta": 0.1212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.2463,
"delta": 0.1163,
"percent_delta": 0.8946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4653,
"delta": 0.0223,
"percent_delta": 0.0503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 0.9742,
"delta": 0.0012,
"percent_delta": 0.0012,
"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.18,
"after": 0.383,
"delta": 0.203,
"percent_delta": 1.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.297,
"after": 0.2844,
"delta": -0.0126,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0522,
"predicted_3B": 0.0008,
"predicted_AB": 2.557,
"predicted_AVG": 0.1546,
"predicted_BB": 0.0869,
"predicted_H": 0.3953,
"predicted_HBP": 0.005,
"predicted_HR": 0.099,
"predicted_OBP": 0.1824,
"predicted_R": 0.4197,
"predicted_RBI": 0.2604,
"predicted_SLG": 0.2918,
"predicted_SO": 0.9641
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0522,
"after": 0.0522,
"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.557,
"after": 2.557,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2844,
"after": 0.1546,
"delta": -0.1298,
"percent_delta": -0.4564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.086,
"after": 0.0869,
"delta": 0.0009,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.383,
"after": 0.3953,
"delta": 0.0123,
"percent_delta": 0.0321,
"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.0966,
"after": 0.099,
"delta": 0.0024,
"percent_delta": 0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2938,
"after": 0.1824,
"delta": -0.1114,
"percent_delta": -0.3792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3969,
"after": 0.4197,
"delta": 0.0228,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2463,
"after": 0.2604,
"delta": 0.0141,
"percent_delta": 0.0572,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4653,
"after": 0.2918,
"delta": -0.1735,
"percent_delta": -0.3729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9742,
"after": 0.9641,
"delta": -0.0101,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4653,
"after": 0.2918,
"delta": -0.1735,
"percent_delta": -0.3729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.56), rates preserved: AVG=0.155 HR/AB=0.039",
"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.0522,
"after": 0.0,
"delta": -0.0522,
"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.557,
"after": 3.0,
"delta": 0.443,
"percent_delta": 0.1732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0869,
"after": 0.0,
"delta": -0.0869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3953,
"after": 0.0,
"delta": -0.3953,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2604,
"after": 0.0,
"delta": -0.2604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9641,
"after": 1.0,
"delta": 0.0359,
"percent_delta": 0.0372,
"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_AB",
"before": 2.557,
"after": 3.0,
"delta": 0.443,
"percent_delta": 0.1732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3953,
"after": 0.0,
"delta": -0.3953,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4197,
"after": 0.0,
"delta": -0.4197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.4197,
"after": 0.0,
"delta": -0.4197,
"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.1546,
"after": 0.333,
"delta": 0.1784,
"percent_delta": 1.1539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1824,
"after": 0.333,
"delta": 0.1506,
"percent_delta": 0.8257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2918,
"after": 0.333,
"delta": 0.0412,
"percent_delta": 0.1412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1546,
"after": 0.333,
"delta": 0.1784,
"percent_delta": 1.1539,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 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_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.1546,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.1824,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2918,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1546,
"delta": -0.1784,
"percent_delta": -0.5358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.1824,
"delta": -0.1506,
"percent_delta": -0.4524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2918,
"delta": -0.0412,
"percent_delta": -0.1237,
"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.1546,
"delta": -0.1784,
"percent_delta": -0.5358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.297,
"after": 0.1546,
"delta": -0.1424,
"percent_delta": -0.4795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 3.0,
"delta": 2.82,
"percent_delta": 15.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 1.0,
"delta": 0.96,
"percent_delta": 24.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.1824,
"delta": -0.1146,
"percent_delta": -0.3859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.354,
"after": 1.0,
"delta": 0.646,
"percent_delta": 1.8249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.2918,
"delta": -0.1512,
"percent_delta": -0.3413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 0.0,
"delta": -0.973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.18,
"after": 3.0,
"delta": 2.82,
"percent_delta": 15.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.973,
"after": 0.0,
"delta": -0.973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.044 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.297 | - |
| predicted_BB | 0.088 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.354 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.443 | - |
| predicted_SO | 0.973 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.052 | 0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.557 | 0.057 |
| predicted_AVG | 0.284 | -0.013 |
| predicted_BB | 0.086 | -0.002 |
| predicted_H | 0.383 | 0.203 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.097 | 0.057 |
| predicted_OBP | 0.294 | -0.003 |
| predicted_R | 0.397 | 0.043 |
| predicted_RBI | 0.246 | 0.116 |
| predicted_SLG | 0.465 | 0.022 |
| predicted_SO | 0.974 | 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.052 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.557 | 0.000 |
| predicted_AVG | 0.155 | -0.130 |
| predicted_BB | 0.087 | 0.001 |
| predicted_H | 0.395 | 0.012 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.099 | 0.002 |
| predicted_OBP | 0.182 | -0.111 |
| predicted_R | 0.420 | 0.023 |
| predicted_RBI | 0.260 | 0.014 |
| predicted_SLG | 0.292 | -0.173 |
| predicted_SO | 0.964 | -0.010 |
AB rounded to 3 (raw=2.56), rates preserved: AVG=0.155 HR/AB=0.039
| 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.052 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.443 |
| predicted_AVG | 0.333 | 0.178 |
| predicted_BB | 0.000 | -0.087 |
| predicted_H | 1.000 | 0.605 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.333 | 0.151 |
| predicted_R | 0.000 | -0.420 |
| predicted_RBI | 0.000 | -0.260 |
| predicted_SLG | 0.333 | 0.041 |
| predicted_SO | 1.000 | 0.036 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.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 | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 0.000 | 6.000 | 0.3077 | 0.3077 | 0.7692 | 0.3077 | 0.1538 | 0.3077 | 0.0000 | 0.4615 |
| last_10 | 0.20 | 10 | - | 25.000 | 8.000 | 1.000 | 0.000 | 2.000 | 5.000 | 5.000 | 0.000 | 10.000 | 0.3200 | 0.3200 | 0.6000 | 0.3200 | 0.0800 | 0.2000 | 0.0000 | 0.4000 |
| season | 0.60 | 51 | - | 113.000 | 27.000 | 2.000 | 0.000 | 6.000 | 13.000 | 16.000 | 4.000 | 44.000 | 0.2389 | 0.2650 | 0.4159 | 0.2389 | 0.0531 | 0.1150 | 0.0354 | 0.3894 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0650 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.6460 |
| predicted_AVG | 0.2646 |
| predicted_BB | 0.0830 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1850 |
| predicted_OBP | 0.2889 |
| predicted_R | 0.4640 |
| predicted_RBI | 0.4280 |
| predicted_SLG | 0.5001 |
| predicted_SO | 0.9760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0440 | 0.0650 | 0.0522 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.6460 | 2.5570 | model_form_blend |
| predicted_AVG | 0.2970 | 0.2646 | 0.2844 | model_form_blend |
| predicted_BB | 0.0880 | 0.0830 | 0.0860 | model_form_blend |
| predicted_H | 0.1800 | 0.7000 | 0.3830 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0400 | 0.1850 | 0.0966 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2889 | 0.2938 | model_form_blend |
| predicted_R | 0.3540 | 0.4640 | 0.3969 | model_form_blend |
| predicted_RBI | 0.1300 | 0.4280 | 0.2463 | model_form_blend |
| predicted_SLG | 0.4430 | 0.5001 | 0.4653 | model_form_blend |
| predicted_SO | 0.9730 | 0.9760 | 0.9742 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| AB | 3 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-RF |
| gameID | 20260704_PHI@KC |
| game_type | ph |
| mlbID | 656537 |
| note | Ran for Rincones Jr. in the 8th. |
| playerID | 656537 |
| playerName | Derek Hill |
| pos | RF |
| started | False |
| startingPosition | PR |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-04 |
| sl_k_percent | 35.2 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.312 |
| sl_xwoba | 0.289 |
| sl_xba | 0.227 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 34.7 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 36.4 |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.278 | 2.000 | -0.278 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.444 | 0.000 | -0.444 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.778 | 3.000 | 0.222 | 3.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.422 | 7.000 | -0.322 | -0.900 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 7.556 | 9.000 | -3.556 | -5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "650911",
"player_name": "Cristopher Sánchez",
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.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": 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.1,
"after": 6.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"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": 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": 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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 7.000 | 3.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 30.200 | 12.000 | 27.000 | 6.000 | 33.000 | 5.000 | 3.5217 | 1.0761 | 0.3913 | 0.8804 | 0.1956 | 1.0761 | 0.1630 |
| last_10 | 0.35 | 10 | 68.200 | 13.000 | 53.000 | 9.000 | 76.000 | 5.000 | 1.7039 | 0.9029 | 0.1893 | 0.7718 | 0.1311 | 1.1068 | 0.0728 |
| season | 0.20 | 18 | 117.000 | 26.000 | 104.000 | 23.000 | 136.000 | 8.000 | 2.0000 | 1.0855 | 0.2222 | 0.8889 | 0.1966 | 1.1624 | 0.0684 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3750 |
| predicted_ER | 2.1550 |
| predicted_ERA | 3.0062 |
| predicted_H | 5.6210 |
| predicted_HR | 0.7770 |
| predicted_IP | 6.1000 |
| predicted_SO | 6.9120 |
| predicted_WHIP | 1.0847 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.3750 | 1.2093 | model_form_blend |
| predicted_ER | 1.0000 | 2.1550 | 1.6447 | model_form_blend |
| predicted_ERA | - | 3.0062 | 3.0062 | form_only |
| predicted_H | 6.0000 | 5.6210 | 5.7885 | model_form_blend |
| predicted_HR | 1.0000 | 0.7770 | 0.8755 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 4.0000 | 6.9120 | 5.6253 | model_form_blend |
| predicted_WHIP | - | 1.0847 | 1.0847 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 6 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 26 |
| Pitches | 102 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.00 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 7 |
| Pitching_H | 3 |
| 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 | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260630_PIT@PHI |
| game_type | full |
| mlbID | 650911 |
| playerID | 650911 |
| playerName | Cristopher Sánchez |
| pos | P |
| started | True |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-30 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.268 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 43.0 |
| sl_whiff_percent | 32.2 |
| sl_swing_percent | 51.4 |
| sl_avg_best_speed | 77.562383205 |
| sl_avg_hyper_speed | 94.48696 |
| 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 | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.406 | 1.000 | -1.406 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "661395",
"player_name": "Jhoan Duran",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 3.000 | 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.2530 |
| predicted_ER | 0.2430 |
| predicted_ERA | 2.1825 |
| predicted_H | 0.7930 |
| predicted_HR | 0.0720 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2560 |
| predicted_WHIP | 1.0467 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2530 | 0.1153 | model_form_blend |
| predicted_ER | 0.0000 | 0.2430 | 0.1108 | model_form_blend |
| predicted_ERA | - | 2.1825 | 2.1825 | form_only |
| predicted_H | 0.0000 | 0.7930 | 0.3615 | model_form_blend |
| predicted_HR | 0.0000 | 0.0720 | 0.0328 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2560 | 0.5726 | model_form_blend |
| predicted_WHIP | - | 1.0467 | 1.0467 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 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.459 | 0.000 | -0.459 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.622 | 0.000 | -0.622 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.873 | 1.000 | 0.127 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.081 | 2.000 | -1.081 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 1.000 | 3.000 | 6.000 | 0.000 | 0.0000 | 0.7059 | 0.0000 | 0.1765 | 0.5294 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 4.000 | 4.000 | 6.000 | 13.000 | 1.000 | 3.2727 | 0.9091 | 0.3636 | 0.3636 | 0.5454 | 1.1818 | 0.0909 |
| season | 0.20 | 37 | 35.100 | 10.000 | 23.000 | 17.000 | 40.000 | 3.000 | 2.5472 | 1.1321 | 0.2830 | 0.6509 | 0.4811 | 1.1321 | 0.0849 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4550 |
| predicted_ER | 0.3170 |
| predicted_ERA | 2.8548 |
| predicted_H | 0.6000 |
| predicted_HR | 0.0910 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0490 |
| predicted_WHIP | 1.0558 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4550 | 0.2157 | model_form_blend |
| predicted_ER | 0.0000 | 0.3170 | 0.1503 | model_form_blend |
| predicted_ERA | - | 2.8548 | 2.8548 | form_only |
| predicted_H | 0.0000 | 0.6000 | 0.2844 | model_form_blend |
| predicted_HR | 0.0000 | 0.0910 | 0.0431 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0490 | 0.4973 | model_form_blend |
| predicted_WHIP | - | 1.0558 | 1.0558 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.55 |
| Pitching_Flyouts | 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 | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260704_PHI@KC |
| game_type | full |
| mlbID | 689147 |
| playerID | 689147 |
| playerName | Orion Kerkering |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-04 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.275 |
| sl_xwoba | 0.265 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 24.4 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 43.1 |
| sl_avg_best_speed | 72.026225227 |
| sl_avg_hyper_speed | 92.019321932 |
| 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.297 | 0.000 | -0.297 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.568 | 2.000 | -0.568 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.108 | 3.000 | -1.108 | -3.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.705 | 1.000 | -0.505 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.162 | 2.000 | -1.162 | -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": "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": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 6.000 | 1.000 | 9.000 | 0.000 | 3.6000 | 1.4000 | 0.4000 | 1.2000 | 0.2000 | 1.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 7.000 | 13.000 | 2.000 | 16.000 | 1.000 | 6.5172 | 1.5517 | 0.7241 | 1.3448 | 0.2069 | 1.6552 | 0.1035 |
| season | 0.20 | 37 | 31.000 | 21.000 | 41.000 | 11.000 | 43.000 | 3.000 | 6.0968 | 1.6774 | 0.6774 | 1.3226 | 0.3548 | 1.3871 | 0.0968 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2460 |
| predicted_ER | 0.4590 |
| predicted_ERA | 4.8585 |
| predicted_H | 0.9680 |
| predicted_HR | 0.0830 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1460 |
| predicted_WHIP | 1.4271 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2460 | 0.1133 | model_form_blend |
| predicted_ER | 0.0000 | 0.4590 | 0.2114 | model_form_blend |
| predicted_ERA | - | 4.8585 | 4.8585 | form_only |
| predicted_H | 0.0000 | 0.9680 | 0.4458 | model_form_blend |
| predicted_HR | 0.0000 | 0.0830 | 0.0382 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1460 | 0.5277 | model_form_blend |
| predicted_WHIP | - | 1.4271 | 1.4271 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 5 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 2 |
| Pitching_ERA | 6.10 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 27 |
| Pitching_R | 2 |
| Pitching_SO | 2 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260702_PIT@PHI |
| game_type | full |
| mlbID | 621237 |
| playerID | 621237 |
| playerName | José Alvarado |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-02 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.374 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 28.9 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 76.35437 |
| sl_avg_hyper_speed | 93.180104023 |
| Field | Value |
|---|---|
| Pitcher | Noah Cameron |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3361 |
| ESPN Rank | 433 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.2000 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 4.9482 |
| Season WHIP | 1.4104 |
| Role Avg IP | 5.2290 |
| Recent Avg IP | 4.8000 |
| Last Start IP | 3.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"opponent": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"edges": {
"quality_edge": -0.3907,
"offense_edge": -0.1221,
"opponent_offense_edge": -0.0337,
"defense_strength": -0.0965,
"opponent_defense_weakness": -0.0325,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9828,
"run_prevention": 1.0238,
"strikeout": 0.991
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702070",
"profile": {
"available": true,
"pitcher_id": "702070",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 230.0,
"k_percent": 20.3,
"bb_percent": 6.8,
"woba": 0.333,
"xwoba": 0.34,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.8,
"avg_best_speed": 77.6917,
"avg_hyper_speed": 94.3506,
"whiff_percent": 23.3,
"swing_percent": 47.7
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.5457,
"command_and_miss": -0.1529,
"regression_edge": -0.2,
"xwoba_edge": -0.7714,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.0571,
"whiff_edge": -0.3143,
"bb_edge": 0.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "702070",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.3361,
"sample_weight": 0.92,
"run_prevention_factor": 1.0286,
"strikeout_factor": 0.9763,
"walk_factor": 0.9614,
"homer_factor": 1.0447,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702070",
"espn_id": 4417208,
"player_name": "Noah Cameron",
"team": "KC",
"role": "pitcher",
"espn_rank": 433,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 433,
"gp_value": 16.0,
"gp_rank": 322,
"gs_value": 16.0,
"gs_rank": 62,
"qs_value": 5.0,
"qs_rank": 73,
"era_value": 4.9482,
"era_rank": null,
"w_value": 4.0,
"w_rank": 95,
"l_value": 6.0,
"l_rank": 36,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 83.2,
"ip_rank": 82,
"h_value": 93.0,
"h_rank": 29,
"er_value": 46.0,
"er_rank": 27,
"hr_value": 10.0,
"hr_rank": 71,
"bb_value": 25.0,
"bb_rank": 101,
"k_value": 75.0,
"k_rank": 71,
"k_per_9_value": 8.067729,
"k_per_9_rank": 23.0,
"whip_value": 1.4103,
"whip_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0263,
"adjusted": 3
},
"predicted_H": {
"original": 7.0,
"factor": 1.0263,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9645,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0411,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9782,
"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": 27,
"H": 53,
"BB": 14,
"SO": 47,
"HR": 5,
"ERA": 4.673076923076923,
"WHIP": 1.2884615384615385,
"K9": 8.134615384615385,
"HR9": 0.8653846153846154,
"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-30T00:00:00"
}{
"available": false,
"pitcher_id": "702070",
"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": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "702070",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 18.0,
"R": 20.0,
"H": 35.0,
"BB": 8.0,
"SO": 19.0,
"HR": 4.0,
"BF": 118.0,
"Pitches": 492.0
},
"per_game": {
"IP": 4.2,
"ER": 3.6,
"R": 4.0,
"H": 7.0,
"BB": 1.6,
"SO": 3.8,
"HR": 0.8,
"BF": 23.6,
"Pitches": 98.4
},
"rates": {
"ERA": 6.75,
"WHIP": 1.7917,
"ER_per_IP": 0.75,
"H_per_IP": 1.45833,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.79167,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.0,
"ER": 27.0,
"R": 29.0,
"H": 53.0,
"BB": 14.0,
"SO": 47.0,
"HR": 5.0,
"BF": 226.0,
"Pitches": 946.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.9,
"H": 5.3,
"BB": 1.4,
"SO": 4.7,
"HR": 0.5,
"BF": 22.6,
"Pitches": 94.6
},
"rates": {
"ERA": 4.6731,
"WHIP": 1.2885,
"ER_per_IP": 0.51923,
"H_per_IP": 1.01923,
"BB_per_IP": 0.26923,
"SO_per_IP": 0.90385,
"HR_per_IP": 0.09615
}
},
"season": {
"games": 16,
"totals": {
"IP": 83.2,
"ER": 46.0,
"R": 51.0,
"H": 93.0,
"BB": 25.0,
"SO": 75.0,
"HR": 10.0,
"BF": 370.0,
"Pitches": 1451.0
},
"per_game": {
"IP": 5.1,
"ER": 2.875,
"R": 3.1875,
"H": 5.8125,
"BB": 1.5625,
"SO": 4.6875,
"HR": 0.625,
"BF": 23.125,
"Pitches": 90.6875
},
"rates": {
"ERA": 4.9482,
"WHIP": 1.4104,
"ER_per_IP": 0.5498,
"H_per_IP": 1.11155,
"BB_per_IP": 0.2988,
"SO_per_IP": 0.89641,
"HR_per_IP": 0.11952
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.012,
"predicted_H": 5.89,
"predicted_BB": 1.591,
"predicted_SO": 4.403,
"predicted_HR": 0.686,
"predicted_ERA": 5.3946,
"predicted_WHIP": 1.4888
}
}{
"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": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 3.012,
"final": 3.0066,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.89,
"final": 5.0384,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.591,
"final": 1.3247,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.403,
"final": 4.2214,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.686,
"final": 0.8275,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3946,
"final": 5.3946,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4888,
"final": 1.4888,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1765 |
| ESPN Rank | 477 |
| 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 | 4.8214 |
| Season WHIP | 1.4464 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"opponent": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"edges": {
"quality_edge": -0.3907,
"offense_edge": -0.1221,
"opponent_offense_edge": -0.0337,
"defense_strength": -0.0965,
"opponent_defense_weakness": -0.0325,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9828,
"run_prevention": 1.0238,
"strikeout": 0.991
},
"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": 22.6,
"bb_percent": 12.8,
"woba": 0.325,
"xwoba": 0.334,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 42.2,
"avg_best_speed": 80.4268,
"avg_hyper_speed": 94.8261,
"whiff_percent": 27.5,
"swing_percent": 45.5
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.6102,
"command_and_miss": -0.095,
"regression_edge": -0.2571,
"xwoba_edge": -0.6,
"barrel_edge": -1.0,
"hard_hit_edge": -0.5429,
"whiff_edge": 0.2857,
"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.1765,
"sample_weight": 0.45,
"run_prevention_factor": 1.015,
"strikeout_factor": 1.0051,
"walk_factor": 1.0351,
"homer_factor": 1.0539,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656638",
"espn_id": 40976,
"player_name": "Alex Lange",
"team": "KC",
"role": "pitcher",
"espn_rank": 477,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 477,
"gp_value": 36.0,
"gp_rank": 59,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 4.8214,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 8.0,
"sv_rank": 23,
"hld_value": 1.0,
"hld_rank": 210,
"ip_value": 37.1,
"ip_rank": 238,
"h_value": 33.0,
"h_rank": 239,
"er_value": 20.0,
"er_rank": 190,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 21.0,
"bb_rank": 148,
"k_value": 37.0,
"k_rank": 234,
"k_per_9_value": 8.919643,
"k_per_9_rank": 26.0,
"whip_value": 1.4464,
"whip_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0068,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0068,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0158,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0243,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0023,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 7,
"H": 9,
"BB": 6,
"SO": 9,
"HR": 0,
"ERA": 6.750000000000001,
"WHIP": 1.6071428571428574,
"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-07-05T00: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.404,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5969,
"prior_weight": 0.4031
},
"role": "pitcher",
"player_id": "656638",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 36,
"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": 18.0,
"Pitches": 72.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.6,
"Pitches": 14.4
},
"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": 9.0,
"BB": 6.0,
"SO": 9.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 201.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 0.9,
"BB": 0.6,
"SO": 0.9,
"HR": 0.0,
"BF": 4.5,
"Pitches": 20.1
},
"rates": {
"ERA": 6.75,
"WHIP": 1.6071,
"ER_per_IP": 0.75,
"H_per_IP": 0.96429,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.0
}
},
"season": {
"games": 36,
"totals": {
"IP": 37.1,
"ER": 20.0,
"R": 22.0,
"H": 33.0,
"BB": 21.0,
"SO": 37.0,
"HR": 2.0,
"BF": 164.0,
"Pitches": 695.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5556,
"R": 0.6111,
"H": 0.9167,
"BB": 0.5833,
"SO": 1.0278,
"HR": 0.0556,
"BF": 4.5556,
"Pitches": 19.3056
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.4464,
"ER_per_IP": 0.53571,
"H_per_IP": 0.88393,
"BB_per_IP": 0.5625,
"SO_per_IP": 0.99107,
"HR_per_IP": 0.05357
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.719,
"predicted_H": 0.969,
"predicted_BB": 0.448,
"predicted_SO": 0.775,
"predicted_HR": 0.061,
"predicted_ERA": 7.111,
"predicted_WHIP": 1.5561
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5203,
"form_weight": 0.4797,
"form_reliability": 0.5969,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.404,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5969,
"prior_weight": 0.4031
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.719,
"final": 0.3449,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.969,
"final": 0.4648,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.448,
"final": 0.2149,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.775,
"final": 1.4124,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0293,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.111,
"final": 7.111,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5561,
"final": 1.5561,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.2184 |
| ESPN Rank | 131 |
| 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 | 2.5000 |
| Season WHIP | 0.9722 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"opponent": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"edges": {
"quality_edge": -0.3907,
"offense_edge": -0.1221,
"opponent_offense_edge": -0.0337,
"defense_strength": -0.0965,
"opponent_defense_weakness": -0.0325,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9828,
"run_prevention": 1.0238,
"strikeout": 0.991
},
"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.9,
"bb_percent": 7.5,
"woba": 0.247,
"xwoba": 0.281,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 33.7,
"avg_best_speed": 74.583,
"avg_hyper_speed": 93.5488,
"whiff_percent": 30.4,
"swing_percent": 47.2
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.9147,
"command_and_miss": 0.27,
"regression_edge": -0.9714,
"xwoba_edge": 0.9143,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.6714,
"whiff_edge": 0.7,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663738",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2184,
"sample_weight": 0.45,
"run_prevention_factor": 0.9814,
"strikeout_factor": 1.0108,
"walk_factor": 0.9874,
"homer_factor": 0.9644,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 131,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 131,
"gp_value": 37.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 2.5,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 10.0,
"hld_rank": 40,
"ip_value": 36.0,
"ip_rank": 252,
"h_value": 24.0,
"h_rank": 343,
"er_value": 10.0,
"er_rank": 388,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 11.0,
"bb_rank": 324,
"k_value": 32.0,
"k_rank": 286,
"k_per_9_value": 8.0,
"k_per_9_rank": 30.0,
"whip_value": 0.9722,
"whip_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9916,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9916,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9943,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.984,
"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": 8.2,
"ER": 4,
"H": 6,
"BB": 3,
"SO": 3,
"HR": 1,
"ERA": 4.153846153846154,
"WHIP": 1.0384615384615385,
"K9": 3.1153846153846154,
"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-07-05T00: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": 7.139,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5881,
"prior_weight": 0.4119
},
"role": "pitcher",
"player_id": "663738",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 52.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 0.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 10.4
},
"rates": {
"ERA": 2.25,
"WHIP": 1.0,
"ER_per_IP": 0.25,
"H_per_IP": 1.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 3.0,
"SO": 3.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 130.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.3,
"SO": 0.3,
"HR": 0.1,
"BF": 3.5,
"Pitches": 13.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.0385,
"ER_per_IP": 0.46154,
"H_per_IP": 0.69231,
"BB_per_IP": 0.34615,
"SO_per_IP": 0.34615,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 37,
"totals": {
"IP": 36.0,
"ER": 10.0,
"R": 13.0,
"H": 24.0,
"BB": 11.0,
"SO": 32.0,
"HR": 2.0,
"BF": 146.0,
"Pitches": 551.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2703,
"R": 0.3514,
"H": 0.6486,
"BB": 0.2973,
"SO": 0.8649,
"HR": 0.0541,
"BF": 3.9459,
"Pitches": 14.8919
},
"rates": {
"ERA": 2.5,
"WHIP": 0.9722,
"ER_per_IP": 0.27778,
"H_per_IP": 0.66667,
"BB_per_IP": 0.30556,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.05556
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.366,
"predicted_H": 0.807,
"predicted_BB": 0.232,
"predicted_SO": 0.639,
"predicted_HR": 0.084,
"predicted_ERA": 3.6131,
"predicted_WHIP": 1.1393
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.524,
"form_weight": 0.476,
"form_reliability": 0.5881,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.139,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5881,
"prior_weight": 0.4119
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.366,
"final": 0.1742,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.807,
"final": 0.3841,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.232,
"final": 0.1104,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.639,
"final": 0.8282,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.084,
"final": 0.04,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6131,
"final": 3.6131,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1393,
"final": 1.1393,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | John Schreiber |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0628 |
| ESPN Rank | 205 |
| 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.0857 |
| Season WHIP | 1.2286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"opponent": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"edges": {
"quality_edge": -0.3907,
"offense_edge": -0.1221,
"opponent_offense_edge": -0.0337,
"defense_strength": -0.0965,
"opponent_defense_weakness": -0.0325,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9828,
"run_prevention": 1.0238,
"strikeout": 0.991
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670167",
"profile": {
"available": true,
"pitcher_id": "670167",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 18.9,
"bb_percent": 8.4,
"woba": 0.315,
"xwoba": 0.315,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 37.9,
"avg_best_speed": 78.1453,
"avg_hyper_speed": 94.1177,
"whiff_percent": 21.1,
"swing_percent": 44.1
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.0482,
"command_and_miss": -0.4329,
"regression_edge": 0.0,
"xwoba_edge": -0.0571,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.0714,
"whiff_edge": -0.6286,
"bb_edge": 0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670167",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0628,
"sample_weight": 0.45,
"run_prevention_factor": 1.0053,
"strikeout_factor": 0.9792,
"walk_factor": 0.9955,
"homer_factor": 0.9963,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670167",
"espn_id": 39949,
"player_name": "John Schreiber",
"team": "KC",
"role": "pitcher",
"espn_rank": 205,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 205,
"gp_value": 38.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.0857,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 6.0,
"hld_rank": 89,
"ip_value": 35.0,
"ip_rank": 270,
"h_value": 31.0,
"h_rank": 258,
"er_value": 12.0,
"er_rank": 336,
"hr_value": 6.0,
"hr_rank": 171,
"bb_value": 12.0,
"bb_rank": 299,
"k_value": 27.0,
"k_rank": 338,
"k_per_9_value": 6.9428573,
"k_per_9_rank": 33.0,
"whip_value": 1.2285,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9983,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9906,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 4,
"H": 10,
"BB": 1,
"SO": 11,
"HR": 2,
"ERA": 3.724137931034483,
"WHIP": 1.1379310344827587,
"K9": 10.241379310344827,
"HR9": 1.8620689655172415,
"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-05T00:00:00"
}{
"available": false,
"pitcher_id": "670167",
"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.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5813,
"prior_weight": 0.4187
},
"role": "pitcher",
"player_id": "670167",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 5.0,
"H": 7.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 1.0,
"H": 1.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.8462,
"ER_per_IP": 0.69231,
"H_per_IP": 1.61538,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 6.0,
"H": 10.0,
"BB": 1.0,
"SO": 11.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.1,
"SO": 1.1,
"HR": 0.2,
"BF": 3.9,
"Pitches": 16.5
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.1379,
"ER_per_IP": 0.41379,
"H_per_IP": 1.03448,
"BB_per_IP": 0.10345,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.2069
}
},
"season": {
"games": 38,
"totals": {
"IP": 35.0,
"ER": 12.0,
"R": 15.0,
"H": 31.0,
"BB": 12.0,
"SO": 27.0,
"HR": 6.0,
"BF": 143.0,
"Pitches": 569.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3158,
"R": 0.3947,
"H": 0.8158,
"BB": 0.3158,
"SO": 0.7105,
"HR": 0.1579,
"BF": 3.7632,
"Pitches": 14.9737
},
"rates": {
"ERA": 3.0857,
"WHIP": 1.2286,
"ER_per_IP": 0.34286,
"H_per_IP": 0.88571,
"BB_per_IP": 0.34286,
"SO_per_IP": 0.77143,
"HR_per_IP": 0.17143
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.516,
"predicted_H": 1.142,
"predicted_BB": 0.271,
"predicted_SO": 1.023,
"predicted_HR": 0.185,
"predicted_ERA": 4.6458,
"predicted_WHIP": 1.4129
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5269,
"form_weight": 0.4731,
"form_reliability": 0.5813,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5813,
"prior_weight": 0.4187
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.516,
"final": 0.2441,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.142,
"final": 1.0672,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.271,
"final": 0.1282,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.023,
"final": 1.0109,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.185,
"final": 0.0875,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6458,
"final": 4.6458,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4129,
"final": 1.4129,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1115 |
| ESPN Rank | 608 |
| 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.5446 |
| Season WHIP | 1.5743 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 98,
"wins": 37,
"losses": 61,
"win_pct": 0.3776,
"runs_scored": 391.0,
"runs_allowed": 493.0,
"run_differential": -102.0,
"run_differential_per_game": -1.0408,
"avg_runs_scored": 3.9898,
"avg_runs_allowed": 5.0306,
"offense_index": 0.8779,
"defense_index": 0.9035,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.4,
"avg_runs_allowed": 7.3,
"run_differential": -49.0
},
"available": true,
"quality_score": -0.335
},
"opponent": {
"team": "PHI",
"games": 97,
"wins": 51,
"losses": 46,
"win_pct": 0.5258,
"runs_scored": 426.0,
"runs_allowed": 427.0,
"run_differential": -1.0,
"run_differential_per_game": -0.0103,
"avg_runs_scored": 4.3918,
"avg_runs_allowed": 4.4021,
"offense_index": 0.9663,
"defense_index": 1.0325,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0557
},
"edges": {
"quality_edge": -0.3907,
"offense_edge": -0.1221,
"opponent_offense_edge": -0.0337,
"defense_strength": -0.0965,
"opponent_defense_weakness": -0.0325,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9828,
"run_prevention": 1.0238,
"strikeout": 0.991
},
"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": 16.4,
"bb_percent": 13.8,
"woba": 0.368,
"xwoba": 0.325,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 42.3,
"avg_best_speed": 73.597,
"avg_hyper_speed": 94.4056,
"whiff_percent": 21.4,
"swing_percent": 46.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.2678,
"command_and_miss": -0.8486,
"regression_edge": 1.2286,
"xwoba_edge": -0.3429,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.5571,
"whiff_edge": -0.5857,
"bb_edge": -1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668674",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1115,
"sample_weight": 0.45,
"run_prevention_factor": 1.0095,
"strikeout_factor": 0.9735,
"walk_factor": 1.0441,
"homer_factor": 1.0027,
"woba_minus_xwoba": 0.043,
"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": 608,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 608,
"gp_value": 35.0,
"gp_rank": 73,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 5.3465,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 12.0,
"sv_rank": 15,
"hld_value": 3.0,
"hld_rank": 157,
"ip_value": 33.2,
"ip_rank": 287,
"h_value": 37.0,
"h_rank": 201,
"er_value": 20.0,
"er_rank": 190,
"hr_value": 3.0,
"hr_rank": 321,
"bb_value": 21.0,
"bb_rank": 148,
"k_value": 25.0,
"k_rank": 357,
"k_per_9_value": 6.6831684,
"k_per_9_rank": 33.0,
"whip_value": 1.7227,
"whip_rank": null,
"war_value": -0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0043,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0043,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0198,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9881,
"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": 4,
"H": 8,
"BB": 5,
"SO": 4,
"HR": 1,
"ERA": 3.483870967741936,
"WHIP": 1.2580645161290325,
"K9": 3.483870967741936,
"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-04T00: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.677,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5718,
"prior_weight": 0.4282
},
"role": "pitcher",
"player_id": "668674",
"report_date": "20260706_P",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.4,
"SO": 0.2,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.0
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 0.2,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 5.0,
"SO": 4.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 178.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.5,
"SO": 0.4,
"HR": 0.1,
"BF": 4.4,
"Pitches": 17.8
},
"rates": {
"ERA": 3.4839,
"WHIP": 1.2581,
"ER_per_IP": 0.3871,
"H_per_IP": 0.77419,
"BB_per_IP": 0.48387,
"SO_per_IP": 0.3871,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 34,
"totals": {
"IP": 33.2,
"ER": 17.0,
"R": 19.0,
"H": 32.0,
"BB": 21.0,
"SO": 25.0,
"HR": 2.0,
"BF": 147.0,
"Pitches": 599.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5588,
"H": 0.9412,
"BB": 0.6176,
"SO": 0.7353,
"HR": 0.0588,
"BF": 4.3235,
"Pitches": 17.6176
},
"rates": {
"ERA": 4.5446,
"WHIP": 1.5743,
"ER_per_IP": 0.50495,
"H_per_IP": 0.9505,
"BB_per_IP": 0.62376,
"SO_per_IP": 0.74257,
"HR_per_IP": 0.05941
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.505,
"predicted_H": 0.885,
"predicted_BB": 0.424,
"predicted_SO": 0.622,
"predicted_HR": 0.141,
"predicted_ERA": 4.549,
"predicted_WHIP": 1.3088
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5309,
"form_weight": 0.4691,
"form_reliability": 0.5718,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.677,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5718,
"prior_weight": 0.4282
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.505,
"final": 1.2987,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.885,
"final": 1.477,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.424,
"final": 0.1989,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.622,
"final": 0.2918,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.141,
"final": 1.128,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.549,
"final": 4.549,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3088,
"final": 1.3088,
"source": "form_only"
}
}
}{
"available": false,
"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.146 | 0.000 | 0.000 | Hitting_2B | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 3.463 | 4.000 | 4.000 | Hitting_AB | 3.531 | 3.000 | 0.469 | 1.000 |
| predicted_AVG | 0.229 | 0.000 | 0.250 | Hitting_AVG | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_BB | 0.293 | 0.000 | 0.000 | Hitting_BB | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.340 | 0.000 | 1.000 | Hitting_H | 0.815 | 0.000 | -0.815 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_OBP | 0.250 | 0.000 | 0.250 | Hitting_OBP | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_R | 0.476 | 0.000 | 0.000 | Hitting_R | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.284 | 1.000 | -0.284 | -1.000 |
| predicted_SLG | 0.393 | 0.000 | 0.250 | Hitting_SLG | 0.405 | 0.000 | -0.405 | 0.000 |
| predicted_SO | 1.146 | 0.000 | 1.000 | Hitting_SO | 1.156 | 0.000 | -1.156 | 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.4630 -> 4.0000 (boost 0.5370, better) |
| Biggest Deboost | predicted_SO: 1.1460 -> 0.0000 (deboost -1.1460, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.3400 -> 0.5382 (boost 0.1982, better) | - | Final model input calibrated with local form: 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.3898 -> 0.2794 (deboost -0.1104, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.5154 -> 1.0000 (boost 0.4846, better) | predicted_BB: 0.2526 -> 0.0000 (deboost -0.2526, worse) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.146 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4039 -> 0.0000 (deboost -0.4039, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1458 -> 0.2500 (boost 0.1042, better) | predicted_SLG: 0.2794 -> 0.2500 (deboost -0.0294, 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.2500 -> 0.2794 (boost 0.0294, better) | predicted_AVG: 0.2500 -> 0.1458 (deboost -0.1042, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.146,
"predicted_3B": 0.024,
"predicted_AB": 3.463,
"predicted_AVG": 0.229,
"predicted_BB": 0.293,
"predicted_H": 0.34,
"predicted_HR": 0.07,
"predicted_OBP": 0.25,
"predicted_R": 0.476,
"predicted_RBI": 0.17,
"predicted_SLG": 0.393,
"predicted_SO": 1.146
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0274,
"predicted_AB": 3.5356,
"predicted_AVG": 0.2261,
"predicted_BB": 0.2569,
"predicted_H": 0.5382,
"predicted_HBP": 0.031,
"predicted_HR": 0.101,
"predicted_OBP": 0.2568,
"predicted_R": 0.4365,
"predicted_RBI": 0.2511,
"predicted_SLG": 0.3898,
"predicted_SO": 1.1222
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.1261,
"delta": -0.0199,
"percent_delta": -0.1363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0274,
"delta": 0.0034,
"percent_delta": 0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.463,
"after": 3.5356,
"delta": 0.0726,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2261,
"delta": -0.0029,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.2569,
"delta": -0.0361,
"percent_delta": -0.1232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 0.5382,
"delta": 0.1982,
"percent_delta": 0.5829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.101,
"delta": 0.031,
"percent_delta": 0.4429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2568,
"delta": 0.0068,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 0.4365,
"delta": -0.0395,
"percent_delta": -0.083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2511,
"delta": 0.0811,
"percent_delta": 0.4771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3898,
"delta": -0.0032,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.146,
"after": 1.1222,
"delta": -0.0238,
"percent_delta": -0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.34,
"after": 0.5382,
"delta": 0.1982,
"percent_delta": 0.5829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.1261,
"predicted_3B": 0.0274,
"predicted_AB": 3.5356,
"predicted_AVG": 0.1458,
"predicted_BB": 0.2526,
"predicted_H": 0.5154,
"predicted_HBP": 0.031,
"predicted_HR": 0.0972,
"predicted_OBP": 0.2027,
"predicted_R": 0.4039,
"predicted_RBI": 0.2323,
"predicted_SLG": 0.2794,
"predicted_SO": 1.1408
},
"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.0274,
"after": 0.0274,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5356,
"after": 3.5356,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2261,
"after": 0.1458,
"delta": -0.0803,
"percent_delta": -0.3552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2569,
"after": 0.2526,
"delta": -0.0043,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5382,
"after": 0.5154,
"delta": -0.0228,
"percent_delta": -0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.101,
"after": 0.0972,
"delta": -0.0038,
"percent_delta": -0.0376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2568,
"after": 0.2027,
"delta": -0.0541,
"percent_delta": -0.2107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4365,
"after": 0.4039,
"delta": -0.0326,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2511,
"after": 0.2323,
"delta": -0.0188,
"percent_delta": -0.0749,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3898,
"after": 0.2794,
"delta": -0.1104,
"percent_delta": -0.2832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1222,
"after": 1.1408,
"delta": 0.0186,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3898,
"after": 0.2794,
"delta": -0.1104,
"percent_delta": -0.2832,
"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.146 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.1261,
"after": 0.0,
"delta": -0.1261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0274,
"after": 0.0,
"delta": -0.0274,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5356,
"after": 4.0,
"delta": 0.4644,
"percent_delta": 0.1313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2526,
"after": 0.0,
"delta": -0.2526,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5154,
"after": 1.0,
"delta": 0.4846,
"percent_delta": 0.9402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0972,
"after": 0.0,
"delta": -0.0972,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2323,
"after": 0.0,
"delta": -0.2323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1408,
"after": 1.0,
"delta": -0.1408,
"percent_delta": -0.1234,
"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.5154,
"after": 1.0,
"delta": 0.4846,
"percent_delta": 0.9402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2526,
"after": 0.0,
"delta": -0.2526,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4039,
"after": 0.0,
"delta": -0.4039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4039,
"after": 0.0,
"delta": -0.4039,
"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.1458,
"after": 0.25,
"delta": 0.1042,
"percent_delta": 0.7147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2027,
"after": 0.25,
"delta": 0.0473,
"percent_delta": 0.2333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2794,
"after": 0.25,
"delta": -0.0294,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1458,
"after": 0.25,
"delta": 0.1042,
"percent_delta": 0.7147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2794,
"after": 0.25,
"delta": -0.0294,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.1458,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2027,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2794,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1458,
"delta": -0.1042,
"percent_delta": -0.4169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2027,
"delta": -0.0473,
"percent_delta": -0.1891,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2794,
"delta": 0.0294,
"percent_delta": 0.1177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.2794,
"delta": 0.0294,
"percent_delta": 0.1177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1458,
"delta": -0.1042,
"percent_delta": -0.4169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.463,
"after": 4.0,
"delta": 0.537,
"percent_delta": 0.1551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.1458,
"delta": -0.0832,
"percent_delta": -0.3633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.34,
"after": 0.0,
"delta": -0.34,
"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.25,
"after": 0.2027,
"delta": -0.0473,
"percent_delta": -0.1892,
"direction": "deboost",
"projection_effect": "worse",
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.2794,
"delta": -0.1136,
"percent_delta": -0.2891,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.146,
"after": 0.0,
"delta": -1.146,
"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.463,
"after": 4.0,
"delta": 0.537,
"percent_delta": 0.1551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.146,
"after": 0.0,
"delta": -1.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.463 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.293 | - |
| predicted_H | 0.340 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.250 | - |
| predicted_R | 0.476 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 1.146 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.020 |
| predicted_3B | 0.027 | 0.003 |
| predicted_AB | 3.536 | 0.073 |
| predicted_AVG | 0.226 | -0.003 |
| predicted_BB | 0.257 | -0.036 |
| predicted_H | 0.538 | 0.198 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.101 | 0.031 |
| predicted_OBP | 0.257 | 0.007 |
| predicted_R | 0.436 | -0.039 |
| predicted_RBI | 0.251 | 0.081 |
| predicted_SLG | 0.390 | -0.003 |
| predicted_SO | 1.122 | -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.126 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 3.536 | 0.000 |
| predicted_AVG | 0.146 | -0.080 |
| predicted_BB | 0.253 | -0.004 |
| predicted_H | 0.515 | -0.023 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.097 | -0.004 |
| predicted_OBP | 0.203 | -0.054 |
| predicted_R | 0.404 | -0.033 |
| predicted_RBI | 0.232 | -0.019 |
| predicted_SLG | 0.279 | -0.110 |
| predicted_SO | 1.141 | 0.019 |
AB rounded to 4 (raw=3.54), rates preserved: AVG=0.146 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 | 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.126 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 4.000 | 0.464 |
| predicted_AVG | 0.250 | 0.104 |
| predicted_BB | 0.000 | -0.253 |
| predicted_H | 1.000 | 0.485 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.250 | 0.047 |
| predicted_R | 0.000 | -0.404 |
| predicted_RBI | 0.000 | -0.232 |
| predicted_SLG | 0.250 | -0.029 |
| predicted_SO | 1.000 | -0.141 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.1579 | 0.1579 | 0.1579 | 0.1579 | 0.0000 | 0.0526 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 7.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 1.000 | 13.000 | 0.1795 | 0.1951 | 0.3846 | 0.1795 | 0.0513 | 0.1026 | 0.0256 | 0.3333 |
| season | 0.60 | 82 | - | 284.000 | 72.000 | 12.000 | 2.000 | 14.000 | 31.000 | 39.000 | 24.000 | 94.000 | 0.2535 | 0.3195 | 0.4577 | 0.2535 | 0.0493 | 0.1091 | 0.0845 | 0.3310 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0990 |
| predicted_3B | 0.0320 |
| predicted_AB | 3.6340 |
| predicted_AVG | 0.2221 |
| predicted_BB | 0.2080 |
| predicted_H | 0.8070 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1430 |
| predicted_OBP | 0.2661 |
| predicted_R | 0.3830 |
| predicted_RBI | 0.3610 |
| predicted_SLG | 0.3854 |
| predicted_SO | 1.0900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.0990 | 0.1261 | model_form_blend |
| predicted_3B | 0.0240 | 0.0320 | 0.0274 | model_form_blend |
| predicted_AB | 3.4630 | 3.6340 | 3.5356 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2221 | 0.2261 | model_form_blend |
| predicted_BB | 0.2930 | 0.2080 | 0.2569 | model_form_blend |
| predicted_H | 0.3400 | 0.8070 | 0.5382 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.0700 | 0.1430 | 0.1010 | model_form_blend |
| predicted_OBP | 0.2500 | 0.2661 | 0.2568 | model_form_blend |
| predicted_R | 0.4760 | 0.3830 | 0.4365 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3610 | 0.2511 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3854 | 0.3898 | model_form_blend |
| predicted_SO | 1.1460 | 1.0900 | 1.1222 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 211 |
| Season rows before report date | 211 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260705_PHI@KC |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | 1B |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-05 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.342 |
| sl_xwoba | 0.365 |
| sl_xba | 0.274 |
| sl_xslg | 0.51 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 15.5 |
| sl_hard_hit_percent | 57.7 |
| sl_exit_velocity_avg | 93.8 |
| sl_launch_angle_avg | 7.9 |
| sl_whiff_percent | 30.8 |
| 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.157 | 0.000 | 0.000 | Hitting_2B | 0.118 | 1.000 | -0.118 | -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 | 2.908 | 3.000 | 1.092 | 1.000 |
| predicted_AVG | 0.243 | 0.250 | 0.333 | Hitting_AVG | 0.222 | 0.333 | 0.028 | -0.083 |
| predicted_BB | 0.414 | 0.000 | 0.000 | Hitting_BB | 0.510 | 1.000 | -0.510 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_H | 0.760 | 1.000 | 1.000 | Hitting_H | 0.647 | 1.000 | 0.353 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.292 | 0.250 | 0.333 | Hitting_OBP | 0.341 | 0.500 | -0.091 | -0.250 |
| predicted_R | 0.300 | 0.000 | 0.000 | Hitting_R | 0.268 | 2.000 | -0.268 | -2.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.320 | 1.000 | -0.320 | -1.000 |
| predicted_SLG | 0.367 | 0.250 | 0.333 | Hitting_SLG | 0.330 | 0.667 | -0.080 | -0.417 |
| predicted_SO | 0.757 | 0.000 | 1.000 | Hitting_SO | 0.778 | 0.000 | -0.778 | 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.1200 -> 4.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_SO: 0.7570 -> 0.0000 (deboost -0.7570, 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 | 2 | 3 | predicted_AB: 3.1200 -> 3.1846 (boost 0.0646, better) | predicted_AVG: 0.2430 -> 0.2295 (deboost -0.0135, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2897 -> 0.3021 (boost 0.0124, better) | predicted_SLG: 0.3617 -> 0.3462 (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 | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6998 -> 1.0000 (boost 0.3002, better) | predicted_BB: 0.3760 -> 0.0000 (deboost -0.3760, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.220 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3112 -> 0.0000 (deboost -0.3112, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2197 -> 0.3330 (boost 0.1133, better) | predicted_SLG: 0.3462 -> 0.3330 (deboost -0.0132, 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_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.3462 (boost 0.0132, better) | predicted_AVG: 0.3330 -> 0.2197 (deboost -0.1133, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.157,
"predicted_3B": 0.0,
"predicted_AB": 3.12,
"predicted_AVG": 0.243,
"predicted_BB": 0.414,
"predicted_H": 0.76,
"predicted_HR": 0.07,
"predicted_OBP": 0.292,
"predicted_R": 0.3,
"predicted_RBI": 0.34,
"predicted_SLG": 0.367,
"predicted_SO": 0.757
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2166,
"predicted_3B": 0.0004,
"predicted_AB": 3.1846,
"predicted_AVG": 0.2295,
"predicted_BB": 0.3823,
"predicted_H": 0.7308,
"predicted_HBP": 0.02,
"predicted_HR": 0.0642,
"predicted_OBP": 0.2897,
"predicted_R": 0.3363,
"predicted_RBI": 0.3267,
"predicted_SLG": 0.3617,
"predicted_SO": 0.8116
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.2166,
"delta": 0.0596,
"percent_delta": 0.3796,
"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.12,
"after": 3.1846,
"delta": 0.0646,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2295,
"delta": -0.0135,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 0.3823,
"delta": -0.0317,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7308,
"delta": -0.0292,
"percent_delta": -0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0642,
"delta": -0.0058,
"percent_delta": -0.0829,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2897,
"delta": -0.0023,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.3363,
"delta": 0.0363,
"percent_delta": 0.121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3267,
"delta": -0.0133,
"percent_delta": -0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3617,
"delta": -0.0053,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.757,
"after": 0.8116,
"delta": 0.0546,
"percent_delta": 0.0721,
"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_AB",
"before": 3.12,
"after": 3.1846,
"delta": 0.0646,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2295,
"delta": -0.0135,
"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": 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.2166,
"predicted_3B": 0.0004,
"predicted_AB": 3.1846,
"predicted_AVG": 0.2197,
"predicted_BB": 0.376,
"predicted_H": 0.6998,
"predicted_HBP": 0.02,
"predicted_HR": 0.0618,
"predicted_OBP": 0.3021,
"predicted_R": 0.3112,
"predicted_RBI": 0.3023,
"predicted_SLG": 0.3462,
"predicted_SO": 0.8251
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2166,
"after": 0.2166,
"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.1846,
"after": 3.1846,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2295,
"after": 0.2197,
"delta": -0.0098,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3823,
"after": 0.376,
"delta": -0.0063,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7308,
"after": 0.6998,
"delta": -0.031,
"percent_delta": -0.0424,
"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.0642,
"after": 0.0618,
"delta": -0.0024,
"percent_delta": -0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2897,
"after": 0.3021,
"delta": 0.0124,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3363,
"after": 0.3112,
"delta": -0.0251,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3267,
"after": 0.3023,
"delta": -0.0244,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3617,
"after": 0.3462,
"delta": -0.0155,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8116,
"after": 0.8251,
"delta": 0.0135,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_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.2897,
"after": 0.3021,
"delta": 0.0124,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3617,
"after": 0.3462,
"delta": -0.0155,
"percent_delta": -0.0429,
"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.220 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.2166,
"after": 0.0,
"delta": -0.2166,
"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.1846,
"after": 3.0,
"delta": -0.1846,
"percent_delta": -0.058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.376,
"after": 0.0,
"delta": -0.376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6998,
"after": 1.0,
"delta": 0.3002,
"percent_delta": 0.429,
"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.0618,
"after": 0.0,
"delta": -0.0618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3023,
"after": 0.0,
"delta": -0.3023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8251,
"after": 1.0,
"delta": 0.1749,
"percent_delta": 0.212,
"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.6998,
"after": 1.0,
"delta": 0.3002,
"percent_delta": 0.429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.376,
"after": 0.0,
"delta": -0.376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, 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.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3112,
"after": 0.0,
"delta": -0.3112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3112,
"after": 0.0,
"delta": -0.3112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2197,
"after": 0.333,
"delta": 0.1133,
"percent_delta": 0.5157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3021,
"after": 0.333,
"delta": 0.0309,
"percent_delta": 0.1023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.333,
"delta": -0.0132,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2197,
"after": 0.333,
"delta": 0.1133,
"percent_delta": 0.5157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3462,
"after": 0.333,
"delta": -0.0132,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2197,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3021,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3462,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2197,
"delta": -0.1133,
"percent_delta": -0.3401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3021,
"delta": -0.0309,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3462,
"delta": 0.0132,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3462,
"delta": 0.0132,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2197,
"delta": -0.1133,
"percent_delta": -0.3401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.12,
"after": 4.0,
"delta": 0.88,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2197,
"delta": -0.0233,
"percent_delta": -0.0959,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 0.0,
"delta": -0.414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.3021,
"delta": 0.0101,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"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.367,
"after": 0.3462,
"delta": -0.0208,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.757,
"after": 0.0,
"delta": -0.757,
"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.12,
"after": 4.0,
"delta": 0.88,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.757,
"after": 0.0,
"delta": -0.757,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.120 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.414 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.300 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.757 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | 0.060 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.185 | 0.065 |
| predicted_AVG | 0.230 | -0.013 |
| predicted_BB | 0.382 | -0.032 |
| predicted_H | 0.731 | -0.029 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.064 | -0.006 |
| predicted_OBP | 0.290 | -0.002 |
| predicted_R | 0.336 | 0.036 |
| predicted_RBI | 0.327 | -0.013 |
| predicted_SLG | 0.362 | -0.005 |
| predicted_SO | 0.812 | 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.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.185 | 0.000 |
| predicted_AVG | 0.220 | -0.010 |
| predicted_BB | 0.376 | -0.006 |
| predicted_H | 0.700 | -0.031 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.062 | -0.002 |
| predicted_OBP | 0.302 | 0.012 |
| predicted_R | 0.311 | -0.025 |
| predicted_RBI | 0.302 | -0.024 |
| predicted_SLG | 0.346 | -0.016 |
| predicted_SO | 0.825 | 0.013 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.220 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 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, 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.217 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.185 |
| predicted_AVG | 0.333 | 0.113 |
| predicted_BB | 0.000 | -0.376 |
| predicted_H | 1.000 | 0.300 |
| predicted_HR | 0.000 | -0.062 |
| predicted_OBP | 0.333 | 0.031 |
| predicted_R | 0.000 | -0.311 |
| predicted_RBI | 0.000 | -0.302 |
| predicted_SLG | 0.333 | -0.013 |
| predicted_SO | 1.000 | 0.175 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 4.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 5.000 | 0.2105 | 0.2500 | 0.4211 | 0.2105 | 0.0000 | 0.0526 | 0.0526 | 0.2632 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 12.000 | 0.1714 | 0.2162 | 0.2857 | 0.1714 | 0.0000 | 0.0571 | 0.0571 | 0.3429 |
| season | 0.60 | 70 | - | 204.000 | 44.000 | 11.000 | 0.000 | 5.000 | 23.000 | 21.000 | 29.000 | 53.000 | 0.2157 | 0.3178 | 0.3431 | 0.2157 | 0.0245 | 0.1128 | 0.1422 | 0.2598 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3000 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2750 |
| predicted_AVG | 0.2106 |
| predicted_BB | 0.3380 |
| predicted_H | 0.6900 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.2864 |
| predicted_R | 0.3870 |
| predicted_RBI | 0.3080 |
| predicted_SLG | 0.3542 |
| predicted_SO | 0.8880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.3000 | 0.2166 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1200 | 3.2750 | 3.1846 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2106 | 0.2295 | model_form_blend |
| predicted_BB | 0.4140 | 0.3380 | 0.3823 | model_form_blend |
| predicted_H | 0.7600 | 0.6900 | 0.7308 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0700 | 0.0560 | 0.0642 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2864 | 0.2897 | model_form_blend |
| predicted_R | 0.3000 | 0.3870 | 0.3363 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3080 | 0.3267 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3542 | 0.3617 | model_form_blend |
| predicted_SO | 0.7570 | 0.8880 | 0.8116 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_PHI@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-05 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.302 |
| sl_xwoba | 0.312 |
| sl_xba | 0.24 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 36.6 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 19.6 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 41.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.136 | 0.000 | 0.000 | Hitting_2B | 0.112 | 1.000 | -0.112 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.270 | 4.000 | 4.000 | Hitting_AB | 3.884 | 4.000 | 0.116 | 0.000 |
| predicted_AVG | 0.220 | 0.250 | 0.250 | Hitting_AVG | 0.218 | 0.250 | 0.032 | 0.000 |
| predicted_BB | 0.148 | 0.000 | 0.000 | Hitting_BB | 0.204 | 0.000 | -0.204 | 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.848 | 1.000 | 0.152 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_OBP | 0.255 | 0.250 | 0.250 | Hitting_OBP | 0.267 | 0.250 | -0.017 | 0.000 |
| predicted_R | 0.358 | 0.000 | 0.000 | Hitting_R | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.472 | 2.000 | -0.472 | -2.000 |
| predicted_SLG | 0.353 | 0.250 | 0.250 | Hitting_SLG | 0.380 | 0.500 | -0.130 | -0.250 |
| predicted_SO | 0.852 | 0.000 | 1.000 | Hitting_SO | 0.820 | 1.000 | -0.820 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_H: 0.9400 -> 1.0000 (boost 0.0600, better) |
| Biggest Deboost | predicted_SO: 0.8520 -> 0.0000 (deboost -0.8520, 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 | 1 | 5 | 0 | 6 | predicted_SO: 0.8520 -> 0.9283 (boost 0.0763, worse) | predicted_AB: 4.2700 -> 4.1383 (deboost -0.1317, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3392 -> 0.3139 (deboost -0.0253, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.8475 -> 1.0000 (boost 0.1525, better) | predicted_RBI: 0.3880 -> 0.0000 (deboost -0.3880, worse) | AB rounded to 4 (raw=4.27), rates preserved: AVG=0.198 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2930 -> 0.0000 (deboost -0.2930, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2048 -> 0.2500 (boost 0.0452, better) | predicted_SLG: 0.3139 -> 0.2500 (deboost -0.0639, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3139 (boost 0.0639, better) | predicted_AVG: 0.2500 -> 0.2048 (deboost -0.0452, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "521692",
"player_name": "Salvador Perez",
"position": "1B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.0,
"predicted_AB": 4.27,
"predicted_AVG": 0.22,
"predicted_BB": 0.148,
"predicted_H": 0.94,
"predicted_HR": 0.11,
"predicted_OBP": 0.255,
"predicted_R": 0.358,
"predicted_RBI": 0.43,
"predicted_SLG": 0.353,
"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.1701,
"predicted_3B": 0.0004,
"predicted_AB": 4.1383,
"predicted_AVG": 0.2135,
"predicted_BB": 0.1297,
"predicted_H": 0.885,
"predicted_HBP": 0.044,
"predicted_HR": 0.0972,
"predicted_OBP": 0.2449,
"predicted_R": 0.3167,
"predicted_RBI": 0.4193,
"predicted_SLG": 0.3392,
"predicted_SO": 0.9283
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1701,
"delta": 0.0341,
"percent_delta": 0.2507,
"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.27,
"after": 4.1383,
"delta": -0.1317,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2135,
"delta": -0.0065,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.148,
"after": 0.1297,
"delta": -0.0183,
"percent_delta": -0.1236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.885,
"delta": -0.055,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0972,
"delta": -0.0128,
"percent_delta": -0.1164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2449,
"delta": -0.0101,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.358,
"after": 0.3167,
"delta": -0.0413,
"percent_delta": -0.1154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4193,
"delta": -0.0107,
"percent_delta": -0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3392,
"delta": -0.0138,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.9283,
"delta": 0.0763,
"percent_delta": 0.0896,
"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.852,
"after": 0.9283,
"delta": 0.0763,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 4.1383,
"delta": -0.1317,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1701,
"predicted_3B": 0.0004,
"predicted_AB": 4.1383,
"predicted_AVG": 0.2048,
"predicted_BB": 0.1275,
"predicted_H": 0.8475,
"predicted_HBP": 0.044,
"predicted_HR": 0.0936,
"predicted_OBP": 0.2286,
"predicted_R": 0.293,
"predicted_RBI": 0.388,
"predicted_SLG": 0.3139,
"predicted_SO": 0.9437
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1701,
"after": 0.1701,
"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.1383,
"after": 4.1383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2135,
"after": 0.2048,
"delta": -0.0087,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1297,
"after": 0.1275,
"delta": -0.0022,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.885,
"after": 0.8475,
"delta": -0.0375,
"percent_delta": -0.0424,
"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.0972,
"after": 0.0936,
"delta": -0.0036,
"percent_delta": -0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2449,
"after": 0.2286,
"delta": -0.0163,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3167,
"after": 0.293,
"delta": -0.0237,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4193,
"after": 0.388,
"delta": -0.0313,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3392,
"after": 0.3139,
"delta": -0.0253,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9283,
"after": 0.9437,
"delta": 0.0154,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3392,
"after": 0.3139,
"delta": -0.0253,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.27), rates preserved: AVG=0.198 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1701,
"after": 0.0,
"delta": -0.1701,
"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.1383,
"after": 4.0,
"delta": -0.1383,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1275,
"after": 0.0,
"delta": -0.1275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8475,
"after": 1.0,
"delta": 0.1525,
"percent_delta": 0.1799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0936,
"after": 0.0,
"delta": -0.0936,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9437,
"after": 1.0,
"delta": 0.0563,
"percent_delta": 0.0597,
"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.8475,
"after": 1.0,
"delta": 0.1525,
"percent_delta": 0.1799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.293,
"after": 0.0,
"delta": -0.293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.293,
"after": 0.0,
"delta": -0.293,
"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.2048,
"after": 0.25,
"delta": 0.0452,
"percent_delta": 0.2207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2286,
"after": 0.25,
"delta": 0.0214,
"percent_delta": 0.0936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3139,
"after": 0.25,
"delta": -0.0639,
"percent_delta": -0.2036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2048,
"after": 0.25,
"delta": 0.0452,
"percent_delta": 0.2207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3139,
"after": 0.25,
"delta": -0.0639,
"percent_delta": -0.2036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2048,
"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.2286,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3139,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2048,
"delta": -0.0452,
"percent_delta": -0.1808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2286,
"delta": -0.0214,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3139,
"delta": 0.0639,
"percent_delta": 0.2557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3139,
"delta": 0.0639,
"percent_delta": 0.2557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2048,
"delta": -0.0452,
"percent_delta": -0.1808,
"direction": "deboost",
"projection_effect": "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": 4.27,
"after": 4.0,
"delta": -0.27,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2048,
"delta": -0.0152,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"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.255,
"after": 0.2286,
"delta": -0.0264,
"percent_delta": -0.1035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.358,
"after": 0.0,
"delta": -0.358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3139,
"delta": -0.0391,
"percent_delta": -0.1108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.0,
"delta": -0.852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.852,
"after": 0.0,
"delta": -0.852,
"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.136 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.148 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.255 | - |
| predicted_R | 0.358 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.353 | - |
| 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.170 | 0.034 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.138 | -0.132 |
| predicted_AVG | 0.213 | -0.007 |
| predicted_BB | 0.130 | -0.018 |
| predicted_H | 0.885 | -0.055 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.097 | -0.013 |
| predicted_OBP | 0.245 | -0.010 |
| predicted_R | 0.317 | -0.041 |
| predicted_RBI | 0.419 | -0.011 |
| predicted_SLG | 0.339 | -0.014 |
| predicted_SO | 0.928 | 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.170 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.138 | 0.000 |
| predicted_AVG | 0.205 | -0.009 |
| predicted_BB | 0.128 | -0.002 |
| predicted_H | 0.848 | -0.037 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.094 | -0.004 |
| predicted_OBP | 0.229 | -0.016 |
| predicted_R | 0.293 | -0.024 |
| predicted_RBI | 0.388 | -0.031 |
| predicted_SLG | 0.314 | -0.025 |
| predicted_SO | 0.944 | 0.015 |
AB rounded to 4 (raw=4.27), rates preserved: AVG=0.198 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.170 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.138 |
| predicted_AVG | 0.250 | 0.045 |
| predicted_BB | 0.000 | -0.128 |
| predicted_H | 1.000 | 0.152 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.250 | 0.021 |
| predicted_R | 0.000 | -0.293 |
| predicted_RBI | 0.000 | -0.388 |
| predicted_SLG | 0.250 | -0.064 |
| predicted_SO | 1.000 | 0.056 |
Attached simulation box 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 | - | 21.000 | 5.000 | 2.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 7.000 | 0.2381 | 0.2381 | 0.3333 | 0.2381 | 0.0000 | 0.0952 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 39.000 | 6.000 | 3.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 13.000 | 0.1538 | 0.1538 | 0.2308 | 0.1538 | 0.0000 | 0.1026 | 0.0000 | 0.3333 |
| season | 0.60 | 81 | - | 318.000 | 65.000 | 11.000 | 0.000 | 10.000 | 32.000 | 29.000 | 12.000 | 69.000 | 0.2044 | 0.2441 | 0.3333 | 0.2044 | 0.0314 | 0.1006 | 0.0377 | 0.2170 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9610 |
| predicted_AVG | 0.2048 |
| predicted_BB | 0.1050 |
| predicted_H | 0.8110 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.2314 |
| predicted_R | 0.2610 |
| predicted_RBI | 0.4050 |
| predicted_SLG | 0.3206 |
| predicted_SO | 1.0310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.2160 | 0.1701 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2700 | 3.9610 | 4.1383 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2048 | 0.2135 | model_form_blend |
| predicted_BB | 0.1480 | 0.1050 | 0.1297 | model_form_blend |
| predicted_H | 0.9400 | 0.8110 | 0.8850 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.1100 | 0.0800 | 0.0972 | model_form_blend |
| predicted_OBP | 0.2550 | 0.2314 | 0.2449 | model_form_blend |
| predicted_R | 0.3580 | 0.2610 | 0.3167 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4050 | 0.4193 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3206 | 0.3392 | model_form_blend |
| predicted_SO | 0.8520 | 1.0310 | 0.9283 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 250 |
| Season rows before report date | 250 |
| Report year | 2026 |
| Profile rows used | 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.204 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 521692 |
| playerID | 521692 |
| playerName | Salvador Perez |
| pos | C |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.249 |
| sl_xwoba | 0.278 |
| sl_xba | 0.221 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 57.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.241 | 0.000 | 0.000 | Hitting_2B | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.380 | 4.000 | 4.000 | Hitting_AB | 3.993 | 3.000 | 0.007 | 1.000 |
| predicted_AVG | 0.259 | 0.250 | 0.250 | Hitting_AVG | 0.289 | 0.667 | -0.039 | -0.417 |
| predicted_BB | 0.434 | 0.000 | 0.000 | Hitting_BB | 0.446 | 1.000 | -0.446 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 1.140 | 1.000 | 1.000 | Hitting_H | 1.155 | 2.000 | -0.155 | -1.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_OBP | 0.338 | 0.250 | 0.250 | Hitting_OBP | 0.358 | 0.750 | -0.108 | -0.500 |
| predicted_R | 0.554 | 0.000 | 1.000 | Hitting_R | 0.513 | 2.000 | -0.513 | -2.000 |
| predicted_RBI | 0.560 | 0.000 | 0.000 | Hitting_RBI | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_SLG | 0.480 | 0.250 | 0.250 | Hitting_SLG | 0.480 | 0.667 | -0.230 | -0.417 |
| predicted_SO | 0.747 | 1.000 | 1.000 | Hitting_SO | 0.834 | 0.000 | 0.166 | 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.7470 -> 1.0000 (boost 0.2530, worse) |
| Biggest Deboost | predicted_RBI: 0.5600 -> 0.0000 (deboost -0.5600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4800 -> 0.4940 (boost 0.0140, better) | predicted_AB: 4.3800 -> 4.1357 (deboost -0.2443, worse) | Final model input calibrated with local form: 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.4940 -> 0.4664 (deboost -0.0276, 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.7138 -> 1.0000 (boost 0.2862, worse) | predicted_RBI: 0.5008 -> 0.0000 (deboost -0.5008, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.246 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5491 -> 1.0000 (boost 0.4509, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4664 -> 0.2500 (deboost -0.2164, 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.4664 (boost 0.2164, 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": "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.241,
"predicted_3B": 0.012,
"predicted_AB": 4.38,
"predicted_AVG": 0.259,
"predicted_BB": 0.434,
"predicted_H": 1.14,
"predicted_HR": 0.21,
"predicted_OBP": 0.338,
"predicted_R": 0.554,
"predicted_RBI": 0.56,
"predicted_SLG": 0.48,
"predicted_SO": 0.747
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2081,
"predicted_3B": 0.0103,
"predicted_AB": 4.1357,
"predicted_AVG": 0.2724,
"predicted_BB": 0.4075,
"predicted_H": 1.1255,
"predicted_HBP": 0.009,
"predicted_HR": 0.2156,
"predicted_OBP": 0.3438,
"predicted_R": 0.5934,
"predicted_RBI": 0.5412,
"predicted_SLG": 0.494,
"predicted_SO": 0.7021
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.241,
"after": 0.2081,
"delta": -0.0329,
"percent_delta": -0.1365,
"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.38,
"after": 4.1357,
"delta": -0.2443,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2724,
"delta": 0.0134,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.434,
"after": 0.4075,
"delta": -0.0265,
"percent_delta": -0.0611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.1255,
"delta": -0.0145,
"percent_delta": -0.0127,
"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.338,
"after": 0.3438,
"delta": 0.0058,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.5934,
"delta": 0.0394,
"percent_delta": 0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5412,
"delta": -0.0188,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.494,
"delta": 0.014,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.747,
"after": 0.7021,
"delta": -0.0449,
"percent_delta": -0.0601,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.494,
"delta": 0.014,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1357,
"delta": -0.2443,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2081,
"predicted_3B": 0.0103,
"predicted_AB": 4.1357,
"predicted_AVG": 0.2606,
"predicted_BB": 0.4007,
"predicted_H": 1.0778,
"predicted_HBP": 0.009,
"predicted_HR": 0.2075,
"predicted_OBP": 0.3259,
"predicted_R": 0.5491,
"predicted_RBI": 0.5008,
"predicted_SLG": 0.4664,
"predicted_SO": 0.7138
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2081,
"after": 0.2081,
"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.1357,
"after": 4.1357,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2724,
"after": 0.2606,
"delta": -0.0118,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4075,
"after": 0.4007,
"delta": -0.0068,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1255,
"after": 1.0778,
"delta": -0.0477,
"percent_delta": -0.0424,
"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.2156,
"after": 0.2075,
"delta": -0.0081,
"percent_delta": -0.0376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3438,
"after": 0.3259,
"delta": -0.0179,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5934,
"after": 0.5491,
"delta": -0.0443,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5412,
"after": 0.5008,
"delta": -0.0404,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.4664,
"delta": -0.0276,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7021,
"after": 0.7138,
"delta": 0.0117,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.4664,
"delta": -0.0276,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.246 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2081,
"after": 0.0,
"delta": -0.2081,
"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.1357,
"after": 4.0,
"delta": -0.1357,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4007,
"after": 0.0,
"delta": -0.4007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0778,
"after": 1.0,
"delta": -0.0778,
"percent_delta": -0.0722,
"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.2075,
"after": 0.0,
"delta": -0.2075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5008,
"after": 0.0,
"delta": -0.5008,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7138,
"after": 1.0,
"delta": 0.2862,
"percent_delta": 0.401,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7138,
"after": 1.0,
"delta": 0.2862,
"percent_delta": 0.401,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5008,
"after": 0.0,
"delta": -0.5008,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5491,
"after": 1.0,
"delta": 0.4509,
"percent_delta": 0.8212,
"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.5491,
"after": 1.0,
"delta": 0.4509,
"percent_delta": 0.8212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2606,
"after": 0.25,
"delta": -0.0106,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3259,
"after": 0.25,
"delta": -0.0759,
"percent_delta": -0.2329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4664,
"after": 0.25,
"delta": -0.2164,
"percent_delta": -0.464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4664,
"after": 0.25,
"delta": -0.2164,
"percent_delta": -0.464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2606,
"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.3259,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4664,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2606,
"delta": 0.0106,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3259,
"delta": 0.0759,
"percent_delta": 0.3037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4664,
"delta": 0.2164,
"percent_delta": 0.8658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4664,
"delta": 0.2164,
"percent_delta": 0.8658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.241,
"after": 0.0,
"delta": -0.241,
"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.38,
"after": 4.0,
"delta": -0.38,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2606,
"delta": 0.0016,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.434,
"after": 0.0,
"delta": -0.434,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3259,
"delta": -0.0121,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.0,
"delta": -0.554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4664,
"delta": -0.0136,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.747,
"after": 1.0,
"delta": 0.253,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.747,
"after": 1.0,
"delta": 0.253,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.241 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.434 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.554 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 0.747 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | -0.033 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.136 | -0.244 |
| predicted_AVG | 0.272 | 0.013 |
| predicted_BB | 0.407 | -0.027 |
| predicted_H | 1.125 | -0.014 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.216 | 0.006 |
| predicted_OBP | 0.344 | 0.006 |
| predicted_R | 0.593 | 0.039 |
| predicted_RBI | 0.541 | -0.019 |
| predicted_SLG | 0.494 | 0.014 |
| predicted_SO | 0.702 | -0.045 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.136 | 0.000 |
| predicted_AVG | 0.261 | -0.012 |
| predicted_BB | 0.401 | -0.007 |
| predicted_H | 1.078 | -0.048 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.207 | -0.008 |
| predicted_OBP | 0.326 | -0.018 |
| predicted_R | 0.549 | -0.044 |
| predicted_RBI | 0.501 | -0.040 |
| predicted_SLG | 0.466 | -0.028 |
| predicted_SO | 0.714 | 0.012 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.246 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.208 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.136 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.401 |
| predicted_H | 1.000 | -0.078 |
| predicted_HR | 0.000 | -0.207 |
| predicted_OBP | 0.250 | -0.076 |
| predicted_R | 1.000 | 0.451 |
| predicted_RBI | 0.000 | -0.501 |
| predicted_SLG | 0.250 | -0.216 |
| predicted_SO | 1.000 | 0.286 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 19.000 | 6.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 1.000 | 2.000 | 0.3158 | 0.3500 | 0.6316 | 0.3158 | 0.1053 | 0.1579 | 0.0526 | 0.1053 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 1.000 | 0.000 | 3.000 | 7.000 | 8.000 | 4.000 | 5.000 | 0.2857 | 0.3500 | 0.5714 | 0.2857 | 0.0857 | 0.2000 | 0.1143 | 0.1429 |
| season | 0.60 | 83 | - | 325.000 | 94.000 | 20.000 | 1.000 | 12.000 | 35.000 | 46.000 | 36.000 | 62.000 | 0.2892 | 0.3589 | 0.4677 | 0.2892 | 0.0369 | 0.1077 | 0.1108 | 0.1908 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.8090 |
| predicted_AVG | 0.2903 |
| predicted_BB | 0.3720 |
| predicted_H | 1.1060 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2230 |
| predicted_OBP | 0.3516 |
| predicted_R | 0.6460 |
| predicted_RBI | 0.5160 |
| predicted_SLG | 0.5127 |
| predicted_SO | 0.6420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2410 | 0.1640 | 0.2081 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.3800 | 3.8090 | 4.1357 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2903 | 0.2724 | model_form_blend |
| predicted_BB | 0.4340 | 0.3720 | 0.4075 | model_form_blend |
| predicted_H | 1.1400 | 1.1060 | 1.1255 | 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.3380 | 0.3516 | 0.3438 | model_form_blend |
| predicted_R | 0.5540 | 0.6460 | 0.5934 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5160 | 0.5412 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5127 | 0.4940 | model_form_blend |
| predicted_SO | 0.7470 | 0.6420 | 0.7021 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260705_PHI@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-05 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.359 |
| sl_xwoba | 0.391 |
| sl_xba | 0.31 |
| sl_xslg | 0.522 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 52.8 |
| sl_exit_velocity_avg | 93.2 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 23.9 |
| 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.138 | 0.000 | 0.000 | Hitting_2B | - | - | - | - |
| predicted_3B | 0.005 | 0.000 | 0.000 | Hitting_3B | - | - | - | - |
| predicted_AB | 3.236 | 3.000 | 3.000 | Hitting_AB | - | - | - | - |
| predicted_AVG | 0.228 | 0.000 | 0.333 | Hitting_AVG | - | - | - | - |
| predicted_BB | 0.284 | 0.000 | 0.000 | Hitting_BB | - | - | - | - |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | - | - | - | - |
| predicted_H | 0.739 | 0.000 | 1.000 | Hitting_H | - | - | - | - |
| predicted_HR | 0.112 | 0.000 | 0.000 | Hitting_HR | - | - | - | - |
| predicted_OBP | 0.291 | 0.000 | 0.333 | Hitting_OBP | - | - | - | - |
| predicted_R | 0.392 | 0.000 | 0.000 | Hitting_R | - | - | - | - |
| predicted_RBI | 0.421 | 0.000 | 0.000 | Hitting_RBI | - | - | - | - |
| predicted_SLG | 0.378 | 0.000 | 0.333 | Hitting_SLG | - | - | - | - |
| predicted_SO | 0.801 | 1.000 | 1.000 | Hitting_SO | - | - | - | - |
| 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.8010 -> 1.0000 (boost 0.1990, worse) |
| Biggest Deboost | predicted_H: 0.7390 -> 0.0000 (deboost -0.7390, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2360 -> 3.3250 (boost 0.0890, better) | - | Final model input calibrated with local form: 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.3829 -> 0.3699 (deboost -0.0130, 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.7384 -> 1.0000 (boost 0.2616, better) | predicted_RBI: 0.3992 -> 0.0000 (deboost -0.3992, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.222 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3792 -> 0.0000 (deboost -0.3792, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2221 -> 0.3330 (boost 0.1109, better) | predicted_SLG: 0.3699 -> 0.3330 (deboost -0.0369, 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.3699 (boost 0.0369, better) | predicted_AVG: 0.3330 -> 0.2221 (deboost -0.1109, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571912",
"player_name": "Luke Maile",
"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.138,
"predicted_3B": 0.005,
"predicted_AB": 3.236,
"predicted_AVG": 0.228,
"predicted_BB": 0.284,
"predicted_H": 0.739,
"predicted_HR": 0.112,
"predicted_OBP": 0.291,
"predicted_R": 0.392,
"predicted_RBI": 0.421,
"predicted_SLG": 0.378,
"predicted_SO": 0.801
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1448,
"predicted_3B": 0.0066,
"predicted_AB": 3.325,
"predicted_AVG": 0.2311,
"predicted_BB": 0.2815,
"predicted_H": 0.7711,
"predicted_HBP": 0.033,
"predicted_HR": 0.1155,
"predicted_OBP": 0.2934,
"predicted_R": 0.4098,
"predicted_RBI": 0.4314,
"predicted_SLG": 0.3829,
"predicted_SO": 0.8087
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1448,
"delta": 0.0068,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.0066,
"delta": 0.0016,
"percent_delta": 0.32,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.236,
"after": 3.325,
"delta": 0.089,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2311,
"delta": 0.0031,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.2815,
"delta": -0.0025,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.739,
"after": 0.7711,
"delta": 0.0321,
"percent_delta": 0.0434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.112,
"after": 0.1155,
"delta": 0.0035,
"percent_delta": 0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2934,
"delta": 0.0024,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.4098,
"delta": 0.0178,
"percent_delta": 0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.421,
"after": 0.4314,
"delta": 0.0104,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3829,
"delta": 0.0049,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.801,
"after": 0.8087,
"delta": 0.0077,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.236,
"after": 3.325,
"delta": 0.089,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_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.1448,
"predicted_3B": 0.0066,
"predicted_AB": 3.325,
"predicted_AVG": 0.2221,
"predicted_BB": 0.2768,
"predicted_H": 0.7384,
"predicted_HBP": 0.033,
"predicted_HR": 0.1112,
"predicted_OBP": 0.2819,
"predicted_R": 0.3792,
"predicted_RBI": 0.3992,
"predicted_SLG": 0.3699,
"predicted_SO": 0.8221
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1448,
"after": 0.1448,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0066,
"after": 0.0066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.325,
"after": 3.325,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2311,
"after": 0.2221,
"delta": -0.009,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2815,
"after": 0.2768,
"delta": -0.0047,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7711,
"after": 0.7384,
"delta": -0.0327,
"percent_delta": -0.0424,
"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.1155,
"after": 0.1112,
"delta": -0.0043,
"percent_delta": -0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2934,
"after": 0.2819,
"delta": -0.0115,
"percent_delta": -0.0392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4098,
"after": 0.3792,
"delta": -0.0306,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4314,
"after": 0.3992,
"delta": -0.0322,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3829,
"after": 0.3699,
"delta": -0.013,
"percent_delta": -0.034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8087,
"after": 0.8221,
"delta": 0.0134,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3829,
"after": 0.3699,
"delta": -0.013,
"percent_delta": -0.034,
"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.222 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.1448,
"after": 0.0,
"delta": -0.1448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0066,
"after": 0.0,
"delta": -0.0066,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.325,
"after": 3.0,
"delta": -0.325,
"percent_delta": -0.0977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2768,
"after": 0.0,
"delta": -0.2768,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7384,
"after": 1.0,
"delta": 0.2616,
"percent_delta": 0.3543,
"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.1112,
"after": 0.0,
"delta": -0.1112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3992,
"after": 0.0,
"delta": -0.3992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8221,
"after": 1.0,
"delta": 0.1779,
"percent_delta": 0.2164,
"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.7384,
"after": 1.0,
"delta": 0.2616,
"percent_delta": 0.3543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3992,
"after": 0.0,
"delta": -0.3992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3792,
"after": 0.0,
"delta": -0.3792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3792,
"after": 0.0,
"delta": -0.3792,
"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.2221,
"after": 0.333,
"delta": 0.1109,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2819,
"after": 0.333,
"delta": 0.0511,
"percent_delta": 0.1813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3699,
"after": 0.333,
"delta": -0.0369,
"percent_delta": -0.0998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2221,
"after": 0.333,
"delta": 0.1109,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3699,
"after": 0.333,
"delta": -0.0369,
"percent_delta": -0.0998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2221,
"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.2819,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3699,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2221,
"delta": -0.1109,
"percent_delta": -0.3331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2819,
"delta": -0.0511,
"percent_delta": -0.1536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3699,
"delta": 0.0369,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3699,
"delta": 0.0369,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2221,
"delta": -0.1109,
"percent_delta": -0.3331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.236,
"after": 3.0,
"delta": -0.236,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2221,
"delta": -0.0059,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.739,
"after": 0.0,
"delta": -0.739,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.112,
"after": 0.0,
"delta": -0.112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2819,
"delta": -0.0091,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3699,
"delta": -0.0081,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.801,
"after": 1.0,
"delta": 0.199,
"percent_delta": 0.2484,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.801,
"after": 1.0,
"delta": 0.199,
"percent_delta": 0.2484,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.739,
"after": 0.0,
"delta": -0.739,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.005 | - |
| predicted_AB | 3.236 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.284 | - |
| predicted_H | 0.739 | - |
| predicted_HR | 0.112 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.392 | - |
| predicted_RBI | 0.421 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.801 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.007 |
| predicted_3B | 0.007 | 0.002 |
| predicted_AB | 3.325 | 0.089 |
| predicted_AVG | 0.231 | 0.003 |
| predicted_BB | 0.281 | -0.003 |
| predicted_H | 0.771 | 0.032 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.116 | 0.004 |
| predicted_OBP | 0.293 | 0.002 |
| predicted_R | 0.410 | 0.018 |
| predicted_RBI | 0.431 | 0.010 |
| predicted_SLG | 0.383 | 0.005 |
| predicted_SO | 0.809 | 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.145 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.325 | 0.000 |
| predicted_AVG | 0.222 | -0.009 |
| predicted_BB | 0.277 | -0.005 |
| predicted_H | 0.738 | -0.033 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.111 | -0.004 |
| predicted_OBP | 0.282 | -0.012 |
| predicted_R | 0.379 | -0.031 |
| predicted_RBI | 0.399 | -0.032 |
| predicted_SLG | 0.370 | -0.013 |
| predicted_SO | 0.822 | 0.013 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.222 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.145 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 3.000 | -0.325 |
| predicted_AVG | 0.333 | 0.111 |
| predicted_BB | 0.000 | -0.277 |
| predicted_H | 1.000 | 0.262 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.333 | 0.051 |
| predicted_R | 0.000 | -0.379 |
| predicted_RBI | 0.000 | -0.399 |
| predicted_SLG | 0.333 | -0.037 |
| predicted_SO | 1.000 | 0.178 |
Attached 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 | 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.2480 |
| predicted_BB | 0.2680 |
| predicted_H | 0.9430 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1340 |
| predicted_OBP | 0.3061 |
| predicted_R | 0.5050 |
| predicted_RBI | 0.4870 |
| predicted_SLG | 0.4094 |
| predicted_SO | 0.8500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.1810 | 0.1448 | model_form_blend |
| predicted_3B | 0.0050 | 0.0150 | 0.0066 | model_form_blend |
| predicted_AB | 3.2360 | 3.8010 | 3.3250 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2480 | 0.2311 | model_form_blend |
| predicted_BB | 0.2840 | 0.2680 | 0.2815 | model_form_blend |
| predicted_H | 0.7390 | 0.9430 | 0.7711 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1120 | 0.1340 | 0.1155 | model_form_blend |
| predicted_OBP | 0.2910 | 0.3061 | 0.2934 | model_form_blend |
| predicted_R | 0.3920 | 0.5050 | 0.4098 | model_form_blend |
| predicted_RBI | 0.4210 | 0.4870 | 0.4314 | model_form_blend |
| predicted_SLG | 0.3780 | 0.4094 | 0.3829 | model_form_blend |
| predicted_SO | 0.8010 | 0.8500 | 0.8087 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.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.105 | 0.000 | 0.000 | Hitting_2B | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.711 | 4.000 | 3.000 | Hitting_AB | 2.908 | 3.000 | 1.092 | 1.000 |
| predicted_AVG | 0.278 | 0.250 | 0.333 | Hitting_AVG | 0.299 | 0.333 | -0.049 | -0.083 |
| predicted_BB | 0.211 | 0.000 | 0.000 | Hitting_BB | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.700 | 1.000 | 1.000 | Hitting_H | 0.868 | 1.000 | 0.132 | 0.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.013 | 0.000 | 0.987 | 1.000 |
| predicted_OBP | 0.324 | 0.250 | 0.333 | Hitting_OBP | 0.355 | 0.500 | -0.105 | -0.250 |
| predicted_R | 0.289 | 1.000 | 0.000 | Hitting_R | 0.224 | 0.000 | 0.776 | 1.000 |
| predicted_RBI | 0.260 | 1.000 | 0.000 | Hitting_RBI | 0.171 | 0.000 | 0.829 | 1.000 |
| predicted_SLG | 0.355 | 1.000 | 0.333 | Hitting_SLG | 0.362 | 0.333 | 0.638 | 0.667 |
| predicted_SO | 0.842 | 0.000 | 1.000 | Hitting_SO | 0.868 | 2.000 | -0.868 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 2.7110 -> 4.0000 (boost 1.2890, better) |
| Biggest Deboost | predicted_SO: 0.8420 -> 0.0000 (deboost -0.8420, 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.7110 -> 2.8463 (boost 0.1353, better) | predicted_SLG: 0.3550 -> 0.3466 (deboost -0.0084, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3267 -> 0.3023 (deboost -0.0244, 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.7091 -> 1.0000 (boost 0.2909, better) | predicted_RBI: 0.2225 -> 0.0000 (deboost -0.2225, worse) | AB rounded to 3 (raw=2.85), rates preserved: AVG=0.249 HR/AB=0.017 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.294) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3056 -> 0.0000 (deboost -0.3056, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2491 -> 0.3330 (boost 0.0839, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_AB: 3.0000 -> 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2491 (deboost -0.0839, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "516782",
"player_name": "Starling Marte",
"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.105,
"predicted_3B": 0.0,
"predicted_AB": 2.711,
"predicted_AVG": 0.278,
"predicted_BB": 0.211,
"predicted_H": 0.7,
"predicted_HR": 0.06,
"predicted_OBP": 0.324,
"predicted_R": 0.289,
"predicted_RBI": 0.26,
"predicted_SLG": 0.355,
"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.1038,
"predicted_3B": 0.0012,
"predicted_AB": 2.8463,
"predicted_AVG": 0.2722,
"predicted_BB": 0.2207,
"predicted_H": 0.7405,
"predicted_HBP": 0.095,
"predicted_HR": 0.0506,
"predicted_OBP": 0.3267,
"predicted_R": 0.3303,
"predicted_RBI": 0.2405,
"predicted_SLG": 0.3466,
"predicted_SO": 0.8744
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.1038,
"delta": -0.0012,
"percent_delta": -0.0114,
"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.711,
"after": 2.8463,
"delta": 0.1353,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2722,
"delta": -0.0058,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.2207,
"delta": 0.0097,
"percent_delta": 0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7405,
"delta": 0.0405,
"percent_delta": 0.0579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0506,
"delta": -0.0094,
"percent_delta": -0.1567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3267,
"delta": 0.0027,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 0.3303,
"delta": 0.0413,
"percent_delta": 0.1429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2405,
"delta": -0.0195,
"percent_delta": -0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3466,
"delta": -0.0084,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.842,
"after": 0.8744,
"delta": 0.0324,
"percent_delta": 0.0385,
"direction": "no_change",
"projection_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.711,
"after": 2.8463,
"delta": 0.1353,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3466,
"delta": -0.0084,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1038,
"predicted_3B": 0.0012,
"predicted_AB": 2.8463,
"predicted_AVG": 0.2491,
"predicted_BB": 0.217,
"predicted_H": 0.7091,
"predicted_HBP": 0.095,
"predicted_HR": 0.0487,
"predicted_OBP": 0.3023,
"predicted_R": 0.3056,
"predicted_RBI": 0.2225,
"predicted_SLG": 0.3378,
"predicted_SO": 0.8889
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1038,
"after": 0.1038,
"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.8463,
"after": 2.8463,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2722,
"after": 0.2491,
"delta": -0.0231,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2207,
"after": 0.217,
"delta": -0.0037,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7405,
"after": 0.7091,
"delta": -0.0314,
"percent_delta": -0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0506,
"after": 0.0487,
"delta": -0.0019,
"percent_delta": -0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3267,
"after": 0.3023,
"delta": -0.0244,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3303,
"after": 0.3056,
"delta": -0.0247,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2405,
"after": 0.2225,
"delta": -0.018,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3466,
"after": 0.3378,
"delta": -0.0088,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8744,
"after": 0.8889,
"delta": 0.0145,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3267,
"after": 0.3023,
"delta": -0.0244,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.85), rates preserved: AVG=0.249 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1038,
"after": 0.0,
"delta": -0.1038,
"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.8463,
"after": 3.0,
"delta": 0.1537,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7091,
"after": 1.0,
"delta": 0.2909,
"percent_delta": 0.4102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0487,
"after": 0.0,
"delta": -0.0487,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2225,
"after": 0.0,
"delta": -0.2225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8889,
"after": 1.0,
"delta": 0.1111,
"percent_delta": 0.125,
"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.7091,
"after": 1.0,
"delta": 0.2909,
"percent_delta": 0.4102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2225,
"after": 0.0,
"delta": -0.2225,
"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.294)",
"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.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": 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.3056,
"after": 0.0,
"delta": -0.3056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3056,
"after": 0.0,
"delta": -0.3056,
"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.2491,
"after": 0.333,
"delta": 0.0839,
"percent_delta": 0.3368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3023,
"after": 0.333,
"delta": 0.0307,
"percent_delta": 0.1016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3378,
"after": 0.333,
"delta": -0.0048,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2491,
"after": 0.333,
"delta": 0.0839,
"percent_delta": 0.3368,
"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": 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": 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": 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": 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.2491,
"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.3023,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3378,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2491,
"delta": -0.0839,
"percent_delta": -0.2519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3023,
"delta": -0.0307,
"percent_delta": -0.0921,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3378,
"delta": 0.0048,
"percent_delta": 0.0144,
"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.2491,
"delta": -0.0839,
"percent_delta": -0.2519,
"direction": "deboost",
"projection_effect": "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.711,
"after": 4.0,
"delta": 1.289,
"percent_delta": 0.4755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2491,
"delta": -0.0289,
"percent_delta": -0.104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.0,
"delta": 0.3,
"percent_delta": 0.4286,
"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.324,
"after": 0.3023,
"delta": -0.0217,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 1.0,
"delta": 0.711,
"percent_delta": 2.4602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3378,
"delta": -0.0172,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.842,
"after": 0.0,
"delta": -0.842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.711,
"after": 4.0,
"delta": 1.289,
"percent_delta": 0.4755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.842,
"after": 0.0,
"delta": -0.842,
"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.105 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.711 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.211 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.289 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.355 | - |
| 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.104 | -0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.846 | 0.135 |
| predicted_AVG | 0.272 | -0.006 |
| predicted_BB | 0.221 | 0.010 |
| predicted_H | 0.741 | 0.041 |
| predicted_HBP | 0.095 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.327 | 0.003 |
| predicted_R | 0.330 | 0.041 |
| predicted_RBI | 0.240 | -0.020 |
| predicted_SLG | 0.347 | -0.008 |
| predicted_SO | 0.874 | 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.104 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.846 | 0.000 |
| predicted_AVG | 0.249 | -0.023 |
| predicted_BB | 0.217 | -0.004 |
| predicted_H | 0.709 | -0.031 |
| predicted_HBP | 0.095 | 0.000 |
| predicted_HR | 0.049 | -0.002 |
| predicted_OBP | 0.302 | -0.024 |
| predicted_R | 0.306 | -0.025 |
| predicted_RBI | 0.223 | -0.018 |
| predicted_SLG | 0.338 | -0.009 |
| predicted_SO | 0.889 | 0.015 |
AB rounded to 3 (raw=2.85), rates preserved: AVG=0.249 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.294)
| 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.104 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.154 |
| predicted_AVG | 0.333 | 0.084 |
| predicted_BB | 0.000 | -0.217 |
| predicted_H | 1.000 | 0.291 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.333 | 0.031 |
| predicted_R | 0.000 | -0.306 |
| predicted_RBI | 0.000 | -0.223 |
| predicted_SLG | 0.333 | -0.005 |
| predicted_SO | 1.000 | 0.111 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 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 | 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 | 0.000 | 0.000 | 2.000 | 1.000 | 6.000 | 0.2667 | 0.3529 | 0.2667 | 0.2667 | 0.0000 | 0.0000 | 0.0667 | 0.4000 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 1.000 | 0.000 | 0.000 | 2.000 | 6.000 | 3.000 | 9.000 | 0.2812 | 0.3514 | 0.3125 | 0.2812 | 0.0000 | 0.0625 | 0.0938 | 0.2812 |
| season | 0.60 | 38 | - | 103.000 | 27.000 | 4.000 | 0.000 | 1.000 | 7.000 | 11.000 | 8.000 | 32.000 | 0.2621 | 0.3276 | 0.3301 | 0.2621 | 0.0097 | 0.0680 | 0.0777 | 0.3107 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.0580 |
| predicted_AVG | 0.2630 |
| predicted_BB | 0.2360 |
| predicted_H | 0.8040 |
| predicted_HBP | 0.0950 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.3310 |
| predicted_R | 0.3950 |
| predicted_RBI | 0.2100 |
| predicted_SLG | 0.3335 |
| predicted_SO | 0.9250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1050 | 0.1020 | 0.1038 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.7110 | 3.0580 | 2.8463 | model_form_blend |
| predicted_AVG | 0.2780 | 0.2630 | 0.2722 | model_form_blend |
| predicted_BB | 0.2110 | 0.2360 | 0.2207 | model_form_blend |
| predicted_H | 0.7000 | 0.8040 | 0.7405 | model_form_blend |
| predicted_HBP | - | 0.0950 | 0.0950 | form_only |
| predicted_HR | 0.0600 | 0.0360 | 0.0506 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3310 | 0.3267 | model_form_blend |
| predicted_R | 0.2890 | 0.3950 | 0.3303 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2100 | 0.2405 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3335 | 0.3466 | model_form_blend |
| predicted_SO | 0.8420 | 0.9250 | 0.8744 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260704_PHI@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-04 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.297 |
| sl_xwoba | 0.311 |
| sl_xba | 0.246 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 37.0 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 7.5 |
| sl_whiff_percent | 29.7 |
| 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.235 | 0.000 | 0.000 | Hitting_2B | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 2.980 | 3.000 | 3.000 | Hitting_AB | 2.960 | 1.000 | 0.040 | 2.000 |
| predicted_AVG | 0.234 | 0.000 | 0.333 | Hitting_AVG | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_BB | 0.353 | 1.000 | 0.000 | Hitting_BB | 0.390 | 0.000 | 0.610 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.640 | 0.000 | -0.640 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_OBP | 0.287 | 0.250 | 0.333 | Hitting_OBP | 0.321 | 0.000 | -0.071 | 0.250 |
| predicted_R | 0.412 | 0.000 | 0.000 | Hitting_R | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.590 | 0.000 | -0.590 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_SLG | 0.337 | 0.000 | 0.333 | Hitting_SLG | 0.334 | 0.000 | -0.334 | 0.000 |
| predicted_SO | 0.471 | 1.000 | 0.000 | Hitting_SO | 0.390 | 1.000 | 0.610 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3530 -> 1.0000 (boost 0.6470, better) |
| Biggest Deboost | predicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2340 -> 0.2163 (deboost -0.0177, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3251 -> 0.3543 (boost 0.0292, better) | predicted_AVG: 0.2163 -> 0.2074 (deboost -0.0089, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.6259 -> 1.0000 (boost 0.3741, better) | predicted_SO: 0.4888 -> 0.0000 (deboost -0.4888, better) | AB rounded to 3 (raw=3.02), rates preserved: AVG=0.207 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3552 -> 0.0000 (deboost -0.3552, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2074 -> 0.3330 (boost 0.1256, better) | predicted_SLG: 0.3543 -> 0.3330 (deboost -0.0213, 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.3543 (boost 0.0213, better) | predicted_AVG: 0.3330 -> 0.2074 (deboost -0.1256, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679845",
"player_name": "Nick Loftin",
"position": "2B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.02,
"predicted_AB": 2.98,
"predicted_AVG": 0.234,
"predicted_BB": 0.353,
"predicted_H": 0.7,
"predicted_HR": 0.08,
"predicted_OBP": 0.287,
"predicted_R": 0.412,
"predicted_RBI": 0.41,
"predicted_SLG": 0.337,
"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.1987,
"predicted_3B": 0.0167,
"predicted_AB": 3.0175,
"predicted_AVG": 0.2163,
"predicted_BB": 0.3444,
"predicted_H": 0.6536,
"predicted_HBP": 0.051,
"predicted_HR": 0.0731,
"predicted_OBP": 0.2833,
"predicted_R": 0.3839,
"predicted_RBI": 0.4084,
"predicted_SLG": 0.3251,
"predicted_SO": 0.4808
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.1987,
"delta": -0.0363,
"percent_delta": -0.1545,
"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": 2.98,
"after": 3.0175,
"delta": 0.0375,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.353,
"after": 0.3444,
"delta": -0.0086,
"percent_delta": -0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.6536,
"delta": -0.0464,
"percent_delta": -0.0663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0731,
"delta": -0.0069,
"percent_delta": -0.0863,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2833,
"delta": -0.0037,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.3839,
"delta": -0.0281,
"percent_delta": -0.0682,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4084,
"delta": -0.0016,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.337,
"after": 0.3251,
"delta": -0.0119,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.471,
"after": 0.4808,
"delta": 0.0098,
"percent_delta": 0.0208,
"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.234,
"after": 0.2163,
"delta": -0.0177,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1987,
"predicted_3B": 0.0167,
"predicted_AB": 3.0175,
"predicted_AVG": 0.2074,
"predicted_BB": 0.3387,
"predicted_H": 0.6259,
"predicted_HBP": 0.051,
"predicted_HR": 0.0704,
"predicted_OBP": 0.2874,
"predicted_R": 0.3552,
"predicted_RBI": 0.3779,
"predicted_SLG": 0.3543,
"predicted_SO": 0.4888
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1987,
"after": 0.1987,
"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": 3.0175,
"after": 3.0175,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2163,
"after": 0.2074,
"delta": -0.0089,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3444,
"after": 0.3387,
"delta": -0.0057,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6536,
"after": 0.6259,
"delta": -0.0277,
"percent_delta": -0.0424,
"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.0731,
"after": 0.0704,
"delta": -0.0027,
"percent_delta": -0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2833,
"after": 0.2874,
"delta": 0.0041,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3839,
"after": 0.3552,
"delta": -0.0287,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4084,
"after": 0.3779,
"delta": -0.0305,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3251,
"after": 0.3543,
"delta": 0.0292,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4808,
"after": 0.4888,
"delta": 0.008,
"percent_delta": 0.0166,
"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.3251,
"after": 0.3543,
"delta": 0.0292,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2163,
"after": 0.2074,
"delta": -0.0089,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.02), rates preserved: AVG=0.207 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1987,
"after": 0.0,
"delta": -0.1987,
"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": 3.0175,
"after": 3.0,
"delta": -0.0175,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3387,
"after": 0.0,
"delta": -0.3387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"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.0704,
"after": 0.0,
"delta": -0.0704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3779,
"after": 0.0,
"delta": -0.3779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4888,
"after": 0.0,
"delta": -0.4888,
"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.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4888,
"after": 0.0,
"delta": -0.4888,
"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.3552,
"after": 0.0,
"delta": -0.3552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3552,
"after": 0.0,
"delta": -0.3552,
"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.2074,
"after": 0.333,
"delta": 0.1256,
"percent_delta": 0.6056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0456,
"percent_delta": 0.1587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3543,
"after": 0.333,
"delta": -0.0213,
"percent_delta": -0.0601,
"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.2074,
"after": 0.333,
"delta": 0.1256,
"percent_delta": 0.6056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3543,
"after": 0.333,
"delta": -0.0213,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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_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.2074,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2874,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3543,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2074,
"delta": -0.1256,
"percent_delta": -0.3771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2874,
"delta": -0.0456,
"percent_delta": -0.1369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3543,
"delta": 0.0213,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3543,
"delta": 0.0213,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2074,
"delta": -0.1256,
"percent_delta": -0.3771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.98,
"after": 3.0,
"delta": 0.02,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2074,
"delta": -0.0266,
"percent_delta": -0.1137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 1.0,
"delta": 0.647,
"percent_delta": 1.8329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2874,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.337,
"after": 0.3543,
"delta": 0.0173,
"percent_delta": 0.0513,
"direction": "boost",
"projection_effect": "better",
"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": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.353,
"after": 1.0,
"delta": 0.647,
"percent_delta": 1.8329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 2.980 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.337 | - |
| 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.199 | -0.036 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.018 | 0.038 |
| predicted_AVG | 0.216 | -0.018 |
| predicted_BB | 0.344 | -0.009 |
| predicted_H | 0.654 | -0.046 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.073 | -0.007 |
| predicted_OBP | 0.283 | -0.004 |
| predicted_R | 0.384 | -0.028 |
| predicted_RBI | 0.408 | -0.002 |
| predicted_SLG | 0.325 | -0.012 |
| predicted_SO | 0.481 | 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.199 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.018 | 0.000 |
| predicted_AVG | 0.207 | -0.009 |
| predicted_BB | 0.339 | -0.006 |
| predicted_H | 0.626 | -0.028 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.070 | -0.003 |
| predicted_OBP | 0.287 | 0.004 |
| predicted_R | 0.355 | -0.029 |
| predicted_RBI | 0.378 | -0.030 |
| predicted_SLG | 0.354 | 0.029 |
| predicted_SO | 0.489 | 0.008 |
AB rounded to 3 (raw=3.02), rates preserved: AVG=0.207 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 | 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.199 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 3.000 | -0.018 |
| predicted_AVG | 0.333 | 0.126 |
| predicted_BB | 0.000 | -0.339 |
| predicted_H | 1.000 | 0.374 |
| predicted_HR | 0.000 | -0.070 |
| predicted_OBP | 0.333 | 0.046 |
| predicted_R | 0.000 | -0.355 |
| predicted_RBI | 0.000 | -0.378 |
| predicted_SLG | 0.333 | -0.021 |
| predicted_SO | 0.000 | -0.489 |
Attached 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 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 2.000 | 2.000 | 0.0769 | 0.2000 | 0.0769 | 0.0769 | 0.0000 | 0.0769 | 0.1538 | 0.1538 |
| last_10 | 0.20 | 10 | - | 32.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 4.000 | 0.1562 | 0.2286 | 0.2500 | 0.1562 | 0.0312 | 0.0938 | 0.0625 | 0.1250 |
| season | 0.60 | 51 | - | 152.000 | 34.000 | 12.000 | 1.000 | 3.000 | 25.000 | 21.000 | 18.000 | 24.000 | 0.2237 | 0.3125 | 0.3750 | 0.2237 | 0.0197 | 0.1645 | 0.1184 | 0.1579 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.0720 |
| predicted_AVG | 0.1906 |
| predicted_BB | 0.3320 |
| predicted_H | 0.5860 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.2780 |
| predicted_R | 0.3430 |
| predicted_RBI | 0.4060 |
| predicted_SLG | 0.3077 |
| predicted_SO | 0.4950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.1460 | 0.1987 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0167 | model_form_blend |
| predicted_AB | 2.9800 | 3.0720 | 3.0175 | model_form_blend |
| predicted_AVG | 0.2340 | 0.1906 | 0.2163 | model_form_blend |
| predicted_BB | 0.3530 | 0.3320 | 0.3444 | model_form_blend |
| predicted_H | 0.7000 | 0.5860 | 0.6536 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.0800 | 0.0630 | 0.0731 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2780 | 0.2833 | model_form_blend |
| predicted_R | 0.4120 | 0.3430 | 0.3839 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4060 | 0.4084 | model_form_blend |
| predicted_SLG | 0.3370 | 0.3077 | 0.3251 | model_form_blend |
| predicted_SO | 0.4710 | 0.4950 | 0.4808 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260705_PHI@KC |
| game_type | ph |
| mlbID | 679845 |
| note | Struck out for Massey in the 8th. |
| playerID | 679845 |
| playerName | Nick Loftin |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-05 |
| sl_k_percent | 13.4 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.31 |
| sl_xwoba | 0.313 |
| sl_xba | 0.238 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 40.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.500 | 4.000 | 3.000 | Hitting_AB | 1.258 | 2.000 | 2.742 | 2.000 |
| predicted_AVG | 0.292 | 0.250 | 0.333 | Hitting_AVG | 0.231 | 1.000 | 0.019 | -0.750 |
| predicted_BB | 0.270 | 0.000 | 0.000 | Hitting_BB | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_H | 0.190 | 1.000 | 1.000 | Hitting_H | 0.290 | 2.000 | 0.710 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.292 | 0.250 | 0.333 | Hitting_OBP | 0.295 | 1.000 | -0.045 | -0.750 |
| predicted_R | 0.405 | 0.000 | 0.000 | Hitting_R | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_RBI | 0.100 | 0.000 | 0.000 | Hitting_RBI | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_SLG | 0.323 | 0.250 | 0.333 | Hitting_SLG | 0.231 | 1.000 | 0.019 | -0.750 |
| predicted_SO | 0.676 | 1.000 | 1.000 | Hitting_SO | 0.323 | 0.000 | 0.677 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_R: 0.4050 -> 0.0000 (deboost -0.4050, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_H: 0.1900 -> 0.3593 (boost 0.1693, better) | predicted_AVG: 0.2920 -> 0.2764 (deboost -0.0156, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2764 -> 0.1310 (deboost -0.1454, 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_AB: 2.6270 -> 3.0000 (boost 0.3730, better) | predicted_H: 0.3441 -> 0.0000 (deboost -0.3441, worse) | AB rounded to 3 (raw=2.63), rates preserved: AVG=0.131 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.3793 -> 0.0000 (deboost -0.3793, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1310 -> 0.3330 (boost 0.2020, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1310 (deboost -0.2020, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686475",
"player_name": "Tyler Tolbert",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.292,
"predicted_BB": 0.27,
"predicted_H": 0.19,
"predicted_HR": 0.03,
"predicted_OBP": 0.292,
"predicted_R": 0.405,
"predicted_RBI": 0.1,
"predicted_SLG": 0.323,
"predicted_SO": 0.676
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0187,
"predicted_3B": 0.0016,
"predicted_AB": 2.627,
"predicted_AVG": 0.2764,
"predicted_BB": 0.2628,
"predicted_H": 0.3593,
"predicted_HBP": 0.01,
"predicted_HR": 0.0339,
"predicted_OBP": 0.2959,
"predicted_R": 0.4099,
"predicted_RBI": 0.1312,
"predicted_SLG": 0.3193,
"predicted_SO": 0.6589
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0187,
"delta": 0.0187,
"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": 2.5,
"after": 2.627,
"delta": 0.127,
"percent_delta": 0.0508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.2764,
"delta": -0.0156,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.2628,
"delta": -0.0072,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.3593,
"delta": 0.1693,
"percent_delta": 0.8911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0339,
"delta": 0.0039,
"percent_delta": 0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2959,
"delta": 0.0039,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.4099,
"delta": 0.0049,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.1312,
"delta": 0.0312,
"percent_delta": 0.312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3193,
"delta": -0.0037,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.676,
"after": 0.6589,
"delta": -0.0171,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_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.19,
"after": 0.3593,
"delta": 0.1693,
"percent_delta": 0.8911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.2764,
"delta": -0.0156,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0187,
"predicted_3B": 0.0016,
"predicted_AB": 2.627,
"predicted_AVG": 0.131,
"predicted_BB": 0.2584,
"predicted_H": 0.3441,
"predicted_HBP": 0.01,
"predicted_HR": 0.0326,
"predicted_OBP": 0.2088,
"predicted_R": 0.3793,
"predicted_RBI": 0.1214,
"predicted_SLG": 0.1766,
"predicted_SO": 0.6698
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0187,
"after": 0.0187,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.627,
"after": 2.627,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2764,
"after": 0.131,
"delta": -0.1454,
"percent_delta": -0.526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2628,
"after": 0.2584,
"delta": -0.0044,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3593,
"after": 0.3441,
"delta": -0.0152,
"percent_delta": -0.0423,
"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.0339,
"after": 0.0326,
"delta": -0.0013,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2959,
"after": 0.2088,
"delta": -0.0871,
"percent_delta": -0.2944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4099,
"after": 0.3793,
"delta": -0.0306,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1312,
"after": 0.1214,
"delta": -0.0098,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3193,
"after": 0.1766,
"delta": -0.1427,
"percent_delta": -0.4469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6589,
"after": 0.6698,
"delta": 0.0109,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2764,
"after": 0.131,
"delta": -0.1454,
"percent_delta": -0.526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.63), rates preserved: AVG=0.131 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.0187,
"after": 0.0,
"delta": -0.0187,
"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": 2.627,
"after": 3.0,
"delta": 0.373,
"percent_delta": 0.142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2584,
"after": 0.0,
"delta": -0.2584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3441,
"after": 0.0,
"delta": -0.3441,
"percent_delta": -1.0,
"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.0326,
"after": 0.0,
"delta": -0.0326,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1214,
"after": 0.0,
"delta": -0.1214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6698,
"after": 1.0,
"delta": 0.3302,
"percent_delta": 0.493,
"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": 2.627,
"after": 3.0,
"delta": 0.373,
"percent_delta": 0.142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3441,
"after": 0.0,
"delta": -0.3441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3793,
"after": 0.0,
"delta": -0.3793,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3793,
"after": 0.0,
"delta": -0.3793,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.131,
"after": 0.333,
"delta": 0.202,
"percent_delta": 1.542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2088,
"after": 0.333,
"delta": 0.1242,
"percent_delta": 0.5948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.1766,
"after": 0.333,
"delta": 0.1564,
"percent_delta": 0.8856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.131,
"after": 0.333,
"delta": 0.202,
"percent_delta": 1.542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.131,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2088,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1766,
"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.131,
"delta": -0.202,
"percent_delta": -0.6067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2088,
"delta": -0.1242,
"percent_delta": -0.3729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.1766,
"delta": -0.1564,
"percent_delta": -0.4697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.131,
"delta": -0.202,
"percent_delta": -0.6067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.131,
"delta": -0.161,
"percent_delta": -0.5514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2088,
"delta": -0.0832,
"percent_delta": -0.2849,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.1766,
"delta": -0.1464,
"percent_delta": -0.4533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.676,
"after": 1.0,
"delta": 0.324,
"percent_delta": 0.4793,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.292 | - |
| predicted_BB | 0.270 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.100 | - |
| predicted_SLG | 0.323 | - |
| predicted_SO | 0.676 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.019 | 0.019 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.627 | 0.127 |
| predicted_AVG | 0.276 | -0.016 |
| predicted_BB | 0.263 | -0.007 |
| predicted_H | 0.359 | 0.169 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.034 | 0.004 |
| predicted_OBP | 0.296 | 0.004 |
| predicted_R | 0.410 | 0.005 |
| predicted_RBI | 0.131 | 0.031 |
| predicted_SLG | 0.319 | -0.004 |
| predicted_SO | 0.659 | -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.019 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.627 | 0.000 |
| predicted_AVG | 0.131 | -0.145 |
| predicted_BB | 0.258 | -0.004 |
| predicted_H | 0.344 | -0.015 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.033 | -0.001 |
| predicted_OBP | 0.209 | -0.087 |
| predicted_R | 0.379 | -0.031 |
| predicted_RBI | 0.121 | -0.010 |
| predicted_SLG | 0.177 | -0.143 |
| predicted_SO | 0.670 | 0.011 |
AB rounded to 3 (raw=2.63), rates preserved: AVG=0.131 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.019 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.373 |
| predicted_AVG | 0.333 | 0.202 |
| predicted_BB | 0.000 | -0.258 |
| predicted_H | 1.000 | 0.656 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.333 | 0.124 |
| predicted_R | 0.000 | -0.379 |
| predicted_RBI | 0.000 | -0.121 |
| predicted_SLG | 0.333 | 0.156 |
| predicted_SO | 1.000 | 0.330 |
Attached simulation box 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 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.2308 | 0.2857 | 0.2308 | 0.2308 | 0.0000 | 0.0000 | 0.0769 | 0.0769 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 2.000 | 4.000 | 0.2500 | 0.2963 | 0.2500 | 0.2500 | 0.0000 | 0.0417 | 0.0833 | 0.1667 |
| season | 0.60 | 18 | - | 37.000 | 9.000 | 0.000 | 0.000 | 0.000 | 1.000 | 6.000 | 4.000 | 10.000 | 0.2432 | 0.3095 | 0.2432 | 0.2432 | 0.0000 | 0.0270 | 0.1081 | 0.2703 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0570 |
| predicted_3B | 0.0050 |
| predicted_AB | 2.8870 |
| predicted_AVG | 0.2445 |
| predicted_BB | 0.2480 |
| predicted_H | 0.7060 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0420 |
| predicted_OBP | 0.3038 |
| predicted_R | 0.4200 |
| predicted_RBI | 0.1950 |
| predicted_SLG | 0.3118 |
| predicted_SO | 0.6240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0570 | 0.0187 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 2.5000 | 2.8870 | 2.6270 | model_form_blend |
| predicted_AVG | 0.2920 | 0.2445 | 0.2764 | model_form_blend |
| predicted_BB | 0.2700 | 0.2480 | 0.2628 | model_form_blend |
| predicted_H | 0.1900 | 0.7060 | 0.3593 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0300 | 0.0420 | 0.0339 | model_form_blend |
| predicted_OBP | 0.2920 | 0.3038 | 0.2959 | model_form_blend |
| predicted_R | 0.4050 | 0.4200 | 0.4099 | model_form_blend |
| predicted_RBI | 0.1000 | 0.1950 | 0.1312 | model_form_blend |
| predicted_SLG | 0.3230 | 0.3118 | 0.3193 | model_form_blend |
| predicted_SO | 0.6760 | 0.6240 | 0.6589 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 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 | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260704_PHI@KC |
| game_type | full |
| mlbID | 686475 |
| playerID | 686475 |
| playerName | Tyler Tolbert |
| pos | 2B |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-04 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.257 |
| sl_xwoba | 0.311 |
| sl_xba | 0.256 |
| sl_xslg | 0.3 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 4.9 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 55.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.125 | 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.500 | 3.000 | 3.000 | Hitting_AB | 2.000 | 4.000 | 1.000 | -1.000 |
| predicted_AVG | 0.254 | 0.333 | 0.333 | Hitting_AVG | 0.200 | 0.000 | 0.133 | 0.333 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.180 | 1.000 | 1.000 | Hitting_H | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.254 | 0.333 | 0.333 | Hitting_OBP | 0.200 | 0.000 | 0.133 | 0.333 |
| predicted_R | 0.250 | 0.000 | 0.000 | Hitting_R | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_SLG | 0.339 | 0.333 | 0.333 | Hitting_SLG | 0.400 | 0.000 | -0.067 | 0.333 |
| predicted_SO | 0.500 | 0.000 | 1.000 | Hitting_SO | 0.400 | 1.000 | -0.400 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.1800 -> 1.0000 (boost 0.8200, better) |
| Biggest Deboost | predicted_SO: 0.5000 -> 0.0000 (deboost -0.5000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 3 | 2 | predicted_AB: 2.5000 -> 2.6595 (boost 0.1595, better) | predicted_AVG: 0.2540 -> 0.2416 (deboost -0.0124, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2416 -> 0.1106 (deboost -0.1310, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.5700 -> 1.0000 (boost 0.4300, worse) | predicted_H: 0.2941 -> 0.0000 (deboost -0.2941, worse) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.111 HR/AB=0.017 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2458 -> 0.0000 (deboost -0.2458, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1106 -> 0.3330 (boost 0.2224, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1106 (deboost -0.2224, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668942",
"player_name": "Josh Rojas",
"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.125,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.254,
"predicted_BB": 0.0,
"predicted_H": 0.18,
"predicted_HR": 0.03,
"predicted_OBP": 0.254,
"predicted_R": 0.25,
"predicted_RBI": 0.12,
"predicted_SLG": 0.339,
"predicted_SO": 0.5
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1234,
"predicted_3B": 0.0019,
"predicted_AB": 2.6595,
"predicted_AVG": 0.2416,
"predicted_BB": 0.0357,
"predicted_H": 0.3071,
"predicted_HBP": 0.016,
"predicted_HR": 0.0481,
"predicted_OBP": 0.2512,
"predicted_R": 0.2656,
"predicted_RBI": 0.1859,
"predicted_SLG": 0.3408,
"predicted_SO": 0.5607
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1234,
"delta": -0.0016,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6595,
"delta": 0.1595,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2416,
"delta": -0.0124,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0357,
"delta": 0.0357,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.3071,
"delta": 0.1271,
"percent_delta": 0.7061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0481,
"delta": 0.0181,
"percent_delta": 0.6033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2512,
"delta": -0.0028,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.2656,
"delta": 0.0156,
"percent_delta": 0.0624,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.1859,
"delta": 0.0659,
"percent_delta": 0.5492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3408,
"delta": 0.0018,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5607,
"delta": 0.0607,
"percent_delta": 0.1214,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6595,
"delta": 0.1595,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2416,
"delta": -0.0124,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1234,
"predicted_3B": 0.0019,
"predicted_AB": 2.6595,
"predicted_AVG": 0.1106,
"predicted_BB": 0.0351,
"predicted_H": 0.2941,
"predicted_HBP": 0.016,
"predicted_HR": 0.0463,
"predicted_OBP": 0.1222,
"predicted_R": 0.2458,
"predicted_RBI": 0.172,
"predicted_SLG": 0.2106,
"predicted_SO": 0.57
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1234,
"after": 0.1234,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6595,
"after": 2.6595,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.1106,
"delta": -0.131,
"percent_delta": -0.5422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0357,
"after": 0.0351,
"delta": -0.0006,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3071,
"after": 0.2941,
"delta": -0.013,
"percent_delta": -0.0423,
"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.0481,
"after": 0.0463,
"delta": -0.0018,
"percent_delta": -0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2512,
"after": 0.1222,
"delta": -0.129,
"percent_delta": -0.5135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2656,
"after": 0.2458,
"delta": -0.0198,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1859,
"after": 0.172,
"delta": -0.0139,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3408,
"after": 0.2106,
"delta": -0.1302,
"percent_delta": -0.382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5607,
"after": 0.57,
"delta": 0.0093,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2416,
"after": 0.1106,
"delta": -0.131,
"percent_delta": -0.5422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.111 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1234,
"after": 0.0,
"delta": -0.1234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6595,
"after": 3.0,
"delta": 0.3405,
"percent_delta": 0.128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0351,
"after": 0.0,
"delta": -0.0351,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.2941,
"after": 0.0,
"delta": -0.2941,
"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.0463,
"after": 0.0,
"delta": -0.0463,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"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.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.2941,
"after": 0.0,
"delta": -0.2941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2458,
"after": 0.0,
"delta": -0.2458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2458,
"after": 0.0,
"delta": -0.2458,
"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.1106,
"after": 0.333,
"delta": 0.2224,
"percent_delta": 2.0108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1222,
"after": 0.333,
"delta": 0.2108,
"percent_delta": 1.725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2106,
"after": 0.333,
"delta": 0.1224,
"percent_delta": 0.5812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1106,
"after": 0.333,
"delta": 0.2224,
"percent_delta": 2.0108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1106,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1222,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2106,
"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.1106,
"delta": -0.2224,
"percent_delta": -0.6679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1222,
"delta": -0.2108,
"percent_delta": -0.6331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2106,
"delta": -0.1224,
"percent_delta": -0.3675,
"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.1106,
"delta": -0.2224,
"percent_delta": -0.6679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.1106,
"delta": -0.1434,
"percent_delta": -0.5646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.1222,
"delta": -0.1318,
"percent_delta": -0.5189,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.2106,
"delta": -0.1284,
"percent_delta": -0.3788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.254 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.339 | - |
| predicted_SO | 0.500 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | -0.002 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.659 | 0.159 |
| predicted_AVG | 0.242 | -0.012 |
| predicted_BB | 0.036 | 0.036 |
| predicted_H | 0.307 | 0.127 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.048 | 0.018 |
| predicted_OBP | 0.251 | -0.003 |
| predicted_R | 0.266 | 0.016 |
| predicted_RBI | 0.186 | 0.066 |
| predicted_SLG | 0.341 | 0.002 |
| predicted_SO | 0.561 | 0.061 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.659 | 0.000 |
| predicted_AVG | 0.111 | -0.131 |
| predicted_BB | 0.035 | -0.001 |
| predicted_H | 0.294 | -0.013 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.046 | -0.002 |
| predicted_OBP | 0.122 | -0.129 |
| predicted_R | 0.246 | -0.020 |
| predicted_RBI | 0.172 | -0.014 |
| predicted_SLG | 0.211 | -0.130 |
| predicted_SO | 0.570 | 0.009 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.111 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.002 |
| predicted_AB | 3.000 | 0.341 |
| predicted_AVG | 0.333 | 0.222 |
| predicted_BB | 0.000 | -0.035 |
| predicted_H | 1.000 | 0.706 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.211 |
| predicted_R | 0.000 | -0.246 |
| predicted_RBI | 0.000 | -0.172 |
| predicted_SLG | 0.333 | 0.122 |
| predicted_SO | 1.000 | 0.430 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 4.000 | 0.2000 | 0.2000 | 0.4000 | 0.2000 | 0.0500 | 0.2000 | 0.0000 | 0.2000 |
| season | 0.60 | 10 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 4.000 | 0.2000 | 0.2000 | 0.4000 | 0.2000 | 0.0500 | 0.2000 | 0.0000 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.0810 |
| predicted_AVG | 0.2088 |
| predicted_BB | 0.1300 |
| predicted_H | 0.6430 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.2437 |
| predicted_R | 0.3070 |
| predicted_RBI | 0.3600 |
| predicted_SLG | 0.3457 |
| predicted_SO | 0.7210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1190 | 0.1234 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0019 | model_form_blend |
| predicted_AB | 2.5000 | 3.0810 | 2.6595 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2088 | 0.2416 | model_form_blend |
| predicted_BB | 0.0000 | 0.1300 | 0.0357 | model_form_blend |
| predicted_H | 0.1800 | 0.6430 | 0.3071 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0300 | 0.0960 | 0.0481 | model_form_blend |
| predicted_OBP | 0.2540 | 0.2437 | 0.2512 | model_form_blend |
| predicted_R | 0.2500 | 0.3070 | 0.2656 | model_form_blend |
| predicted_RBI | 0.1200 | 0.3600 | 0.1859 | model_form_blend |
| predicted_SLG | 0.3390 | 0.3457 | 0.3408 | model_form_blend |
| predicted_SO | 0.5000 | 0.7210 | 0.5607 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 668942 |
| playerID | 668942 |
| playerName | Josh Rojas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.254 |
| sl_xwoba | 0.202 |
| sl_xba | 0.17 |
| sl_xslg | 0.304 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 18.9 |
| sl_whiff_percent | 18.9 |
| sl_swing_percent | 54.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.562 | 3.000 | -0.562 | -2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.875 | 6.000 | 0.125 | -3.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.812 | 9.000 | -1.812 | -5.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 5.112 | 3.200 | -0.912 | 1.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 4.688 | 0.000 | -0.688 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | 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": "702070",
"player_name": "Noah Cameron",
"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": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.200 | -0.800 |
| 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 | 24.000 | 18.000 | 35.000 | 8.000 | 19.000 | 4.000 | 6.7500 | 1.7917 | 0.7500 | 1.4583 | 0.3333 | 0.7917 | 0.1667 |
| last_10 | 0.35 | 10 | 52.000 | 27.000 | 53.000 | 14.000 | 47.000 | 5.000 | 4.6731 | 1.2885 | 0.5192 | 1.0192 | 0.2692 | 0.9039 | 0.0961 |
| season | 0.20 | 16 | 83.200 | 46.000 | 93.000 | 25.000 | 75.000 | 10.000 | 4.9482 | 1.4104 | 0.5498 | 1.1116 | 0.2988 | 0.8964 | 0.1195 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5910 |
| predicted_ER | 3.0120 |
| predicted_ERA | 5.3946 |
| predicted_H | 5.8900 |
| predicted_HR | 0.6860 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.4030 |
| predicted_WHIP | 1.4888 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.5910 | 1.3247 | model_form_blend |
| predicted_ER | 3.0000 | 3.0120 | 3.0066 | model_form_blend |
| predicted_ERA | - | 5.3946 | 5.3946 | form_only |
| predicted_H | 4.0000 | 5.8900 | 5.0384 | model_form_blend |
| predicted_HR | 1.0000 | 0.6860 | 0.8275 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 4.0000 | 4.4030 | 4.2214 | model_form_blend |
| predicted_WHIP | - | 1.4888 | 1.4888 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.2 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 19 |
| Pitches | 95 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 2 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 6 |
| Pitching_ERA | 4.95 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 4 |
| Pitching_H | 9 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.2 |
| Pitching_Pitches | 86 |
| Pitching_R | 6 |
| Pitching_SO | 0 |
| Pitching_Strikes | 50 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260630_TB@KC |
| game_type | full |
| mlbID | 702070 |
| playerID | 702070 |
| playerName | Noah Cameron |
| pos | P |
| started | True |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-30 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.333 |
| sl_xwoba | 0.34 |
| sl_sweet_spot_percent | 41.4 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 38.8 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 47.7 |
| sl_avg_best_speed | 77.691747939 |
| sl_avg_hyper_speed | 94.350561571 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.583 | 0.000 | -0.583 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.917 | 0.000 | -0.917 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.953 | 1.000 | 0.047 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.028 | 0.000 | 0.972 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 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 | 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 | 9.000 | 6.000 | 9.000 | 0.000 | 6.7500 | 1.6071 | 0.7500 | 0.9643 | 0.6429 | 0.9643 | 0.0000 |
| season | 0.20 | 36 | 37.100 | 20.000 | 33.000 | 21.000 | 37.000 | 2.000 | 4.8214 | 1.4464 | 0.5357 | 0.8839 | 0.5625 | 0.9911 | 0.0536 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4480 |
| predicted_ER | 0.7190 |
| predicted_ERA | 7.1110 |
| predicted_H | 0.9690 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7750 |
| predicted_WHIP | 1.5561 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4480 | 0.2149 | model_form_blend |
| predicted_ER | 0.0000 | 0.7190 | 0.3449 | model_form_blend |
| predicted_ERA | - | 7.1110 | 7.1110 | form_only |
| predicted_H | 0.0000 | 0.9690 | 0.4648 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0293 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7750 | 1.4124 | model_form_blend |
| predicted_WHIP | - | 1.5561 | 1.5561 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 3 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.82 |
| 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 | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 656638 |
| playerID | 656638 |
| playerName | Alex Lange |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.325 |
| sl_xwoba | 0.334 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 42.2 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 45.5 |
| sl_avg_best_speed | 80.426839216 |
| sl_avg_hyper_speed | 94.826091881 |
| 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.297 | 0.000 | -0.297 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.649 | 0.000 | -0.649 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.859 | 1.000 | 0.241 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.865 | 1.000 | 0.135 | 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": "663738",
"player_name": "Daniel Lynch IV",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 4.000 | 0.000 | 2.000 | 0.000 | 2.2500 | 1.0000 | 0.2500 | 1.0000 | 0.0000 | 0.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 4.000 | 6.000 | 3.000 | 3.000 | 1.000 | 4.1538 | 1.0385 | 0.4615 | 0.6923 | 0.3462 | 0.3462 | 0.1154 |
| season | 0.20 | 37 | 36.000 | 10.000 | 24.000 | 11.000 | 32.000 | 2.000 | 2.5000 | 0.9722 | 0.2778 | 0.6667 | 0.3056 | 0.8889 | 0.0556 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2320 |
| predicted_ER | 0.3660 |
| predicted_ERA | 3.6131 |
| predicted_H | 0.8070 |
| predicted_HR | 0.0840 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6390 |
| predicted_WHIP | 1.1393 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2320 | 0.1104 | model_form_blend |
| predicted_ER | 0.0000 | 0.3660 | 0.1742 | model_form_blend |
| predicted_ERA | - | 3.6131 | 3.6131 | form_only |
| predicted_H | 0.0000 | 0.8070 | 0.3841 | model_form_blend |
| predicted_HR | 0.0000 | 0.0840 | 0.0400 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6390 | 0.8282 | model_form_blend |
| predicted_WHIP | - | 1.1393 | 1.1393 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.50 |
| 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 | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 663738 |
| playerID | 663738 |
| playerName | Daniel Lynch IV |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-05 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.247 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 33.7 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 47.2 |
| sl_avg_best_speed | 74.5829738 |
| sl_avg_hyper_speed | 93.5487869 |
| 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.316 | 0.000 | -0.316 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.816 | 1.000 | 0.184 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.792 | 1.000 | 0.208 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.711 | 1.000 | 0.289 | 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": "670167",
"player_name": "John Schreiber",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 3.000 | 7.000 | 1.000 | 5.000 | 1.000 | 6.2308 | 1.8462 | 0.6923 | 1.6154 | 0.2308 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 10.000 | 1.000 | 11.000 | 2.000 | 3.7241 | 1.1379 | 0.4138 | 1.0345 | 0.1035 | 1.1379 | 0.2069 |
| season | 0.20 | 38 | 35.000 | 12.000 | 31.000 | 12.000 | 27.000 | 6.000 | 3.0857 | 1.2286 | 0.3429 | 0.8857 | 0.3429 | 0.7714 | 0.1714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2710 |
| predicted_ER | 0.5160 |
| predicted_ERA | 4.6458 |
| predicted_H | 1.1420 |
| predicted_HR | 0.1850 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0230 |
| predicted_WHIP | 1.4129 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2710 | 0.1282 | model_form_blend |
| predicted_ER | 0.0000 | 0.5160 | 0.2441 | model_form_blend |
| predicted_ERA | - | 4.6458 | 4.6458 | form_only |
| predicted_H | 1.0000 | 1.1420 | 1.0672 | model_form_blend |
| predicted_HR | 0.0000 | 0.1850 | 0.0875 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0230 | 1.0109 | model_form_blend |
| predicted_WHIP | - | 1.4129 | 1.4129 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.09 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260705_PHI@KC |
| game_type | full |
| mlbID | 670167 |
| playerID | 670167 |
| playerName | John Schreiber |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-05 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.315 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 37.9 |
| sl_whiff_percent | 21.1 |
| sl_swing_percent | 44.1 |
| sl_avg_best_speed | 78.1452706 |
| sl_avg_hyper_speed | 94.117677374 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.600 | 1.000 | -0.600 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.571 | 1.000 | 1.429 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.057 | 1.000 | 0.943 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.909 | 1.000 | 0.091 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.714 | 0.000 | -0.714 | 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": 2.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": 2.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": 2.0,
"after": 2.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": 2.0,
"after": 2.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 | 2.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 4.000 | 2.000 | 1.000 | 1.000 | 5.4000 | 1.2000 | 0.6000 | 0.8000 | 0.4000 | 0.2000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.100 | 4.000 | 8.000 | 5.000 | 4.000 | 1.000 | 3.4839 | 1.2581 | 0.3871 | 0.7742 | 0.4839 | 0.3871 | 0.0968 |
| season | 0.20 | 34 | 33.200 | 17.000 | 32.000 | 21.000 | 25.000 | 2.000 | 4.5446 | 1.5743 | 0.5050 | 0.9505 | 0.6238 | 0.7426 | 0.0594 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4240 |
| predicted_ER | 0.5050 |
| predicted_ERA | 4.5490 |
| predicted_H | 0.8850 |
| predicted_HR | 0.1410 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6220 |
| predicted_WHIP | 1.3088 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4240 | 0.1989 | model_form_blend |
| predicted_ER | 2.0000 | 0.5050 | 1.2987 | model_form_blend |
| predicted_ERA | - | 4.5490 | 4.5490 | form_only |
| predicted_H | 2.0000 | 0.8850 | 1.4770 | model_form_blend |
| predicted_HR | 2.0000 | 0.1410 | 1.1280 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6220 | 0.2918 | model_form_blend |
| predicted_WHIP | - | 1.3088 | 1.3088 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 34 |
| 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 | 2 |
| BF | 5 |
| Pitches | 11 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.35 |
| 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 | 21 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260704_PHI@KC |
| game_type | full |
| mlbID | 668674 |
| playerID | 668674 |
| playerName | Lucas Erceg |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-04 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.368 |
| sl_xwoba | 0.325 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 42.3 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 73.596968462 |
| sl_avg_hyper_speed | 94.405643495 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TOR 4 - 3 SF | TOR | 0.569 | scoring_simulation.final_score | True |
| Simulation draw | TOR 5 - 2 SF | TOR | - | 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.5692 |
| 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.174 | 3.292 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 3 | 0.5692 | 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 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.41961078838174276,
"base_low_score_probability": 0.4197786998616874,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": -0.00016791147994466016,
"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": 7,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 103,
"near_bucket_sample_size": 26,
"medium_bucket_sample_size": 103,
"wide_bucket_sample_size": 117,
"global_sample_size": 117,
"bucket_scope": "pooled_0.08",
"sparse_bucket": false,
"empirical_hit_rate": 0.5146,
"bayesian_hit_rate": 0.5124,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8512,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5769,
"calibrated_pick_probability": 0.5344,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "SF",
"games": 90,
"wins": 38,
"losses": 52,
"win_pct": 0.4222222222222222,
"runs_scored": 371,
"runs_allowed": 432,
"run_differential": -61,
"run_differential_per_game": -0.6777777777777778,
"available": true
},
"away": {
"team": "TOR",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4666666666666667,
"runs_scored": 356,
"runs_allowed": 398,
"run_differential": -42,
"run_differential_per_game": -0.4666666666666667,
"available": true
},
"run_differential_edge_per_game": -0.2111,
"win_pct_edge": -0.0444,
"quality_edge": -0.2778,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "TOR",
"guardrail_predicted_team": "TOR",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "TOR",
"output_opponent_team": "SF",
"final_score_winner": "TOR",
"pre_simulation_winner": "TOR",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TOR 4 - 3 SF",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "TOR 5 - 2 SF",
"winner": "TOR"
},
"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": 1,
"final_margin": 3,
"winner_quality_edge": 0.2778,
"winner": "TOR",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "SF",
"games": 90,
"wins": 38,
"losses": 52,
"win_pct": 0.4222222222222222,
"runs_scored": 371,
"runs_allowed": 432,
"run_differential": -61,
"run_differential_per_game": -0.6777777777777778,
"available": true
},
"away": {
"team": "TOR",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4666666666666667,
"runs_scored": 356,
"runs_allowed": 398,
"run_differential": -42,
"run_differential_per_game": -0.4666666666666667,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.9051,
"final_margin": -0.9051,
"margin_cap": 1.5,
"season_quality_edge": 0.2778,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.534391,
"final_confidence": 0.534391,
"confidence_cap": 0.66,
"score_gap": 0.9051,
"calibration_sample_size": 103,
"calibration_empirical_hit_rate": 0.5146,
"calibration_bayesian_hit_rate": 0.5124,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.2778,
"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": "TOR 4 - 3 SF",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "TOR 5 - 2 SF",
"winner": "TOR"
},
"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": 1,
"final_margin": 3,
"winner_quality_edge": 0.2778,
"winner": "TOR",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 2,
"confidence": 0.5691686320563026,
"home_win_probability": 0.43083136794369736,
"away_win_probability": 0.5691686320563026,
"predicted_score_text": "TOR 5 - 2 SF",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "TOR",
"original_runs": 4,
"run_delta": -0.323,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": -0.09424972113971469,
"contact": -0.3115328609537061,
"power": -0.473593185602846,
"discipline": -0.0749488223578124,
"xwoba": 0.2851470588235294,
"recent_xwoba": 0.2851470588235294,
"barrel": 4.720588235294117,
"ab_hard_contact": -0.3928385019728826,
"ab_bat_speed": 69.50547254477665,
"ab_strikeout_rate": 0.16628075513092158,
"available_players": 8,
"top_players": [
{
"player_id": "665926",
"player_name": "Andrés Giménez",
"position": "SS",
"weight": 3.0,
"quality": -0.7817070293116791,
"contact": -0.9669312842243837,
"power": -1.001060810129016,
"discipline": -0.5054209344115004,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 3.7000000000000006,
"ab_hard_contact": -0.8219781073422274,
"ab_bat_speed": 65.97817085953878,
"ab_strikeout_rate": 0.17830188679245282,
"available": 1.0
},
{
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "2B",
"weight": 4.0,
"quality": -0.6469789211837201,
"contact": -0.5061810117911569,
"power": -0.9912708669071294,
"discipline": 0.1331883116883115,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 2.3,
"ab_hard_contact": -0.22122686195210534,
"ab_bat_speed": 65.85213734567901,
"ab_strikeout_rate": 0.08212121212121212,
"available": 1.0
},
{
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"position": "3B",
"weight": 4.0,
"quality": 0.3998332401445823,
"contact": 0.11641716725809573,
"power": 1.07569324245416,
"discipline": -0.5401540880503144,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 14.6,
"ab_hard_contact": 0.4711981824165403,
"ab_bat_speed": 71.33991614255766,
"ab_strikeout_rate": 0.3113207547169811,
"available": 1.0
},
{
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"position": "1B",
"weight": 4.0,
"quality": 0.6539847566879494,
"contact": 0.9574362768717519,
"power": 0.22849396571358974,
"discipline": 0.8053162623539981,
"xwoba": 0.345,
"recent_xwoba": 0.345,
"barrel": 6.9,
"ab_hard_contact": 0.7127364571289408,
"ab_bat_speed": 75.4817074722971,
"ab_strikeout_rate": 0.11320754716981132,
"available": 1.0
},
{
"player_id": "664770",
"player_name": "Nathan Lukes",
"position": "RF",
"weight": 4.0,
"quality": -0.1520129338409092,
"contact": -0.1994465910119366,
"power": -0.9252923621472289,
"discipline": -0.047294372294372444,
"xwoba": 0.298,
"recent_xwoba": 0.298,
"barrel": 1.3,
"ab_hard_contact": -0.5488948619921904,
"ab_bat_speed": 66.6145238095238,
"ab_strikeout_rate": 0.1318181818181818,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "694738",
"player_name": "Landen Roupp",
"quality": 0.2845310646048866,
"contact": 0.4416974568251196,
"command": 0.1717142857142856,
"movement": -0.3591994301260393,
"xwoba": 0.289,
"whiff": 26.4,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
},
"home": {
"team": "SF",
"original_runs": 3,
"run_delta": 0.0514,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.1476367222302495,
"contact": 0.2565617427158634,
"power": 0.5298681976430463,
"discipline": -0.25834726358984655,
"xwoba": 0.3228823529411764,
"recent_xwoba": 0.3228823529411764,
"barrel": 10.408823529411762,
"ab_hard_contact": -0.1603279238897746,
"ab_bat_speed": 69.60842986244836,
"ab_strikeout_rate": 0.2400685521052526,
"available_players": 9,
"top_players": [
{
"player_id": "671218",
"player_name": "Heliot Ramos",
"position": "RF",
"weight": 4.0,
"quality": 0.6280764071238324,
"contact": 0.8383236824032789,
"power": 1.3003860153710323,
"discipline": -0.5541028054632705,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 15.2,
"ab_hard_contact": 0.3399107836111299,
"ab_bat_speed": 70.47923018949182,
"ab_strikeout_rate": 0.2731266149870801,
"available": 1.0
},
{
"player_id": "669477",
"player_name": "Casey Schmitt",
"position": "3B",
"weight": 4.0,
"quality": 0.6104951445473445,
"contact": 0.8799694287038549,
"power": 1.05771561868072,
"discipline": -0.5877318840579713,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 12.3,
"ab_hard_contact": -0.07654476924274932,
"ab_bat_speed": 70.19811542443064,
"ab_strikeout_rate": 0.2028985507246377,
"available": 1.0
},
{
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "DH",
"weight": 4.0,
"quality": 0.4040401418968851,
"contact": 0.234775867301355,
"power": 1.022051282108464,
"discipline": -0.45165696649029996,
"xwoba": 0.324,
"recent_xwoba": 0.324,
"barrel": 12.2,
"ab_hard_contact": -0.2439267387830942,
"ab_bat_speed": 70.05941100823046,
"ab_strikeout_rate": 0.31589506172839504,
"available": 1.0
},
{
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "1B",
"weight": 4.0,
"quality": 0.20849433041054544,
"contact": 1.0913513148322194,
"power": 1.2821216789654284,
"discipline": 0.450595238095238,
"xwoba": 0.37,
"recent_xwoba": 0.37,
"barrel": 12.5,
"ab_hard_contact": -0.3213759445009507,
"ab_bat_speed": 73.21211734693877,
"ab_strikeout_rate": 0.30357142857142855,
"available": 1.0
},
{
"player_id": "650333",
"player_name": "Luis Arraez",
"position": "2B",
"weight": 4.0,
"quality": -0.2255202150060239,
"contact": 0.19249849573791472,
"power": -0.8643987689592801,
"discipline": 0.8167002801120447,
"xwoba": 0.308,
"recent_xwoba": 0.308,
"barrel": 0.6,
"ab_hard_contact": -0.6342610934713131,
"ab_bat_speed": 61.88639277933396,
"ab_strikeout_rate": 0.03382352941176471,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "592332",
"player_name": "Kevin Gausman",
"quality": 0.07386686606853417,
"contact": -0.04934999834908704,
"command": 0.3042857142857141,
"movement": -0.053330069094577257,
"xwoba": 0.302,
"whiff": 27.7,
"faced_est_woba": 0.2675360669642857,
"faced_launch_speed": 83.83398341049383,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007891117311507932
}
}
},
"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.2778,
"recent_form_edge_home_minus_away": 0.028,
"pitcher_matchup_edge_home_minus_away": 0.0848,
"composite_home_edge": -0.1392,
"existing_home_win_probability": 0.4656,
"refreshed_home_win_probability": 0.4308,
"winner_support_before_review": 0.1392
},
"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": "TOR 4 - 3 SF",
"confidence": 0.5691686320563026,
"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": "TOR 4 - 3 SF",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "TOR 5 - 2 SF",
"winner": "TOR"
},
"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": 1,
"final_margin": 3,
"winner_quality_edge": 0.2778,
"winner": "TOR",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "TOR",
"display_confidence": 0.5692,
"internal_fair_probability": 0.5415,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.0175,
"moneyline_fit": "selective",
"margin_fit": "volatile_margin_profile",
"totals_fit": "neutral_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 3,
"winner_quality_edge": 0.2778,
"winner_recent_form_edge": -0.028,
"winner_pitcher_matchup_edge": -0.0848,
"winner_simulation_draw_rate": 0.3333,
"blowout_draw_rate_margin_4_plus": 0.2222,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.2222,
"total_runs_spread": {
"min": 5,
"median": 7,
"max": 10,
"range": 5
}
},
"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 TOR | True | 0.9888 | 0.9888 | 1 | 9 | 0 |
| Home SF | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Nathan Lukes | 202 | 0.9863 | -0.1824 | neutral | 0.2980 | 0.2710 | 0.3510 | 1.30 | 27.60 | 86.60 | 10.90 | 19.50 | 15.80 | 4.60 | -0.6857 |
| 3B | Kazuma Okamoto | 68 | 1.0493 | 0.6573 | neutral | 0.3290 | 0.2230 | 0.4480 | 14.60 | 48.80 | 91.40 | 17 | 34 | 31.50 | 9.30 | -0.1429 |
| 1B | Vladimir Guerrero Jr. | 179 | 1.0613 | 0.8168 | positive_batter_regression | 0.3450 | 0.2910 | 0.4100 | 6.90 | 44.20 | 90 | 7.80 | 19.90 | 12 | 10.60 | 1 |
| 2B | Ernie Clement | 137 | 0.9446 | -0.7390 | negative_batter_regression | 0.2750 | 0.2570 | 0.3460 | 2.30 | 23.70 | 85.30 | 15.70 | 16.10 | 9.90 | 3.50 | -1.4000 |
| DH | Sean Keys | 402 | 0.9590 | -0.5471 | negative_batter_regression | 0.2010 | 0.1890 | 0.2780 | 0 | 64.30 | 94.20 | 22.40 | 38.30 | 33.30 | 0 | -1.1714 |
| C | Alejandro Kirk | 487 | 0.9749 | -0.3342 | neutral | 0.2570 | 0.2160 | 0.3040 | 3.20 | 34.90 | 84.60 | 6.50 | 21.50 | 14.80 | 7.40 | 0.4000 |
| CF | Daulton Varsho | 148 | 0.9862 | -0.1836 | neutral | 0.2950 | 0.2400 | 0.3610 | 6.50 | 38.70 | 86 | 15.10 | 21.50 | 20.80 | 8.50 | -0.6000 |
| LF | Myles Straw | 366 | 0.9916 | -0.1120 | neutral | 0.2970 | 0.2570 | 0.3500 | 3.40 | 27.10 | 86.10 | 14.40 | 12.10 | 14.40 | 8.50 | 0.2857 |
| SS | Andrés Giménez | 204 | 0.9464 | -0.7152 | neutral | 0.2680 | 0.2270 | 0.3190 | 3.70 | 24.30 | 86.40 | 12.70 | 25.30 | 19.70 | 3.70 | -0.5714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Casey Schmitt | 109 | 1.0749 | 0.9984 | neutral | 0.3560 | 0.2930 | 0.5110 | 12.30 | 43.70 | 89.70 | 21.90 | 21.60 | 19.10 | 2.10 | 0.3143 |
| DH | Rafael Devers | 103 | 1.0446 | 0.5942 | neutral | 0.3240 | 0.2290 | 0.4630 | 12.20 | 50.80 | 92.10 | 14.10 | 29.60 | 28.40 | 8.20 | -0.4286 |
| 2B | Luis Arraez | 38 | 0.9833 | -0.2227 | negative_batter_regression | 0.3080 | 0.2890 | 0.3790 | 0.60 | 22.80 | 87.30 | 15.50 | 8.40 | 4 | 5.40 | -1.2857 |
| RF | Heliot Ramos | 220 | 1.0641 | 0.8550 | neutral | 0.3410 | 0.2790 | 0.4760 | 15.20 | 50.40 | 92.10 | 6.90 | 27.70 | 25.40 | 5.90 | 0.4571 |
| CF | Jung Hoo Lee | 134 | 1.0019 | 0.0258 | neutral | 0.3180 | 0.2980 | 0.3900 | 2.50 | 28.80 | 87.30 | 10.50 | 12.30 | 9.20 | 4 | -0.7714 |
| 1B | Bryce Eldridge | 171 | 1.0443 | 0.5904 | neutral | 0.3700 | 0.2670 | 0.5020 | 12.50 | 54.20 | 92 | 13.90 | 23.50 | 23.80 | 12.70 | 0.1429 |
| SS | Willy Adames | 144 | 0.9908 | -0.1224 | neutral | 0.2880 | 0.2190 | 0.3910 | 9.10 | 41.40 | 88.50 | 22.70 | 29.40 | 28.50 | 5.90 | -0.5143 |
| LF | Victor Bericoto | 358 | 1.0040 | 0.0528 | negative_batter_regression | 0.2980 | 0.2140 | 0.4790 | 14.70 | 52.90 | 89.90 | 6.60 | 28.40 | 27.10 | 2.10 | -2 |
| C | Eric Haase | 394 | 0.9967 | -0.0439 | neutral | 0.2880 | 0.1960 | 0.3850 | 17.40 | 30.40 | 86.20 | 13 | 37 | 32.10 | 7.70 | 0.2000 |
{
"home": {
"applied": true,
"offense_factor": 1.0227,
"raw_average_factor": 1.0227,
"team_espn_average_rank": 185.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "669477",
"player_name": "Casey Schmitt",
"offense_factor": 1.0749,
"quality_score": 0.9984,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669477",
"espn_id": 4301949,
"player_name": "Casey Schmitt",
"team": "SF",
"role": "batter",
"espn_rank": 109,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 109,
"gp_value": 81.0,
"gp_rank": 117,
"ab_value": 322.0,
"ab_rank": 52,
"r_value": 39.0,
"r_rank": 103,
"h_value": 91.0,
"h_rank": 28,
"avg_value": 0.2826086,
"avg_rank": 32.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 17.0,
"hr_rank": 30,
"rbi_value": 45.0,
"rbi_rank": 57,
"tb_value": 160.0,
"tb_rank": 357,
"bb_value": 7.0,
"bb_rank": 373,
"so_value": 65.0,
"so_rank": 110,
"sb_value": 7.0,
"sb_rank": 77,
"obp_value": 0.3088235,
"obp_rank": "122",
"slg_value": 0.4968944,
"slg_rank": "28",
"ops_value": 0.8057179,
"ops_rank": 94.0,
"war_value": 1.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 19.1,
"bb_percent": 2.1,
"woba": 0.345,
"xwoba": 0.356,
"xba": 0.293,
"xslg": 0.511,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 21.9,
"whiff_percent": 21.6,
"swing_percent": 54.7
},
"components": {
"expected_quality": 1.3073,
"regression_edge": 0.3143,
"xwoba_edge": 1.5429,
"xba_edge": 1.5429,
"xslg_edge": 1.9786,
"barrel_edge": 1.1778,
"hard_hit_edge": 0.7786,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "646240",
"player_name": "Rafael Devers",
"offense_factor": 1.0446,
"quality_score": 0.5942,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "646240",
"espn_id": 33859,
"player_name": "Rafael Devers",
"team": "SF",
"role": "batter",
"espn_rank": 103,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 103,
"gp_value": 89.0,
"gp_rank": 16,
"ab_value": 343.0,
"ab_rank": 14,
"r_value": 43.0,
"r_rank": 77,
"h_value": 85.0,
"h_rank": 50,
"avg_value": 0.2478134,
"avg_rank": 95.0,
"2b_value": 24.0,
"2b_rank": 2,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 18.0,
"hr_rank": 25,
"rbi_value": 47.0,
"rbi_rank": 47,
"tb_value": 165.0,
"tb_rank": 309,
"bb_value": 31.0,
"bb_rank": 81,
"so_value": 107.0,
"so_rank": 10,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3103448,
"obp_rank": "121",
"slg_value": 0.4810495,
"slg_rank": "35",
"ops_value": 0.7913943,
"ops_rank": 86.0,
"war_value": 1.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 28.4,
"bb_percent": 8.2,
"woba": 0.339,
"xwoba": 0.324,
"xba": 0.229,
"xslg": 0.463,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 50.8,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 14.1,
"whiff_percent": 29.6,
"swing_percent": 49.3
},
"components": {
"expected_quality": 0.7607,
"regression_edge": -0.4286,
"xwoba_edge": 0.6286,
"xba_edge": -0.2857,
"xslg_edge": 1.2929,
"barrel_edge": 1.1556,
"hard_hit_edge": 1.7929,
"exit_velocity_edge": 1.32,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "650333",
"player_name": "Luis Arraez",
"offense_factor": 0.9833,
"quality_score": -0.2227,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650333",
"espn_id": 39572,
"player_name": "Luis Arraez",
"team": "SF",
"role": "batter",
"espn_rank": 38,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 38,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 334.0,
"ab_rank": 23,
"r_value": 45.0,
"r_rank": 63,
"h_value": 109.0,
"h_rank": 2,
"avg_value": 0.3263473,
"avg_rank": 2.0,
"2b_value": 19.0,
"2b_rank": 25,
"3b_value": 7.0,
"3b_rank": 2,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 33.0,
"rbi_rank": 134,
"tb_value": 154.0,
"tb_rank": 760,
"bb_value": 20.0,
"bb_rank": 187,
"so_value": 15.0,
"so_rank": 438,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3616438,
"obp_rank": "34",
"slg_value": 0.4610778,
"slg_rank": "53",
"ops_value": 0.8227216,
"ops_rank": 19.0,
"war_value": 2.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 4.0,
"bb_percent": 5.4,
"woba": 0.353,
"xwoba": 0.308,
"xba": 0.289,
"xslg": 0.379,
"sweet_spot_percent": 39.9,
"barrel_batted_rate": 0.6,
"hard_hit_percent": 22.8,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 15.5,
"whiff_percent": 8.4,
"swing_percent": 50.2
},
"components": {
"expected_quality": -0.0581,
"regression_edge": -1.2857,
"xwoba_edge": 0.1714,
"xba_edge": 1.4286,
"xslg_edge": 0.0929,
"barrel_edge": -1.4222,
"hard_hit_edge": -2.2071,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": 1.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "671218",
"player_name": "Heliot Ramos",
"offense_factor": 1.0641,
"quality_score": 0.855,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671218",
"espn_id": 39642,
"player_name": "Heliot Ramos",
"team": "SF",
"role": "batter",
"espn_rank": 220,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 220,
"gp_value": 51.0,
"gp_rank": 289,
"ab_value": 192.0,
"ab_rank": 226,
"r_value": 24.0,
"r_rank": 211,
"h_value": 51.0,
"h_rank": 194,
"avg_value": 0.265625,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 106,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 6.0,
"hr_rank": 192,
"rbi_value": 23.0,
"rbi_rank": 219,
"tb_value": 86.0,
"tb_rank": 930,
"bb_value": 12.0,
"bb_rank": 285,
"so_value": 52.0,
"so_rank": 172,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.307317,
"obp_rank": "-",
"slg_value": 0.4479166,
"slg_rank": "-",
"ops_value": 0.7552336,
"ops_rank": null,
"war_value": 0.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 170.0,
"k_percent": 25.4,
"bb_percent": 5.9,
"woba": 0.325,
"xwoba": 0.341,
"xba": 0.279,
"xslg": 0.476,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 50.4,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 6.9,
"whiff_percent": 27.7,
"swing_percent": 53.8
},
"components": {
"expected_quality": 1.2122,
"regression_edge": 0.4571,
"xwoba_edge": 1.1143,
"xba_edge": 1.1429,
"xslg_edge": 1.4786,
"barrel_edge": 1.8222,
"hard_hit_edge": 1.7357,
"exit_velocity_edge": 1.32,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"offense_factor": 1.0019,
"quality_score": 0.0258,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808982",
"espn_id": 5134621,
"player_name": "Jung Hoo Lee",
"team": "SF",
"role": "batter",
"espn_rank": 134,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 134,
"gp_value": 81.0,
"gp_rank": 117,
"ab_value": 308.0,
"ab_rank": 82,
"r_value": 45.0,
"r_rank": 63,
"h_value": 97.0,
"h_rank": 10,
"avg_value": 0.314935,
"avg_rank": 5.0,
"2b_value": 20.0,
"2b_rank": 15,
"3b_value": 3.0,
"3b_rank": 10,
"hr_value": 5.0,
"hr_rank": 218,
"rbi_value": 33.0,
"rbi_rank": 134,
"tb_value": 138.0,
"tb_rank": 699,
"bb_value": 13.0,
"bb_rank": 266,
"so_value": 30.0,
"so_rank": 310,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3455657,
"obp_rank": "53",
"slg_value": 0.4480519,
"slg_rank": "66",
"ops_value": 0.7936176,
"ops_rank": 13.0,
"war_value": 1.17,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 193.0,
"k_percent": 9.2,
"bb_percent": 4.0,
"woba": 0.345,
"xwoba": 0.318,
"xba": 0.298,
"xslg": 0.39,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 28.8,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 10.5,
"whiff_percent": 12.3,
"swing_percent": 46.2
},
"components": {
"expected_quality": 0.1597,
"regression_edge": -0.7714,
"xwoba_edge": 0.4571,
"xba_edge": 1.6857,
"xslg_edge": 0.25,
"barrel_edge": -1.0,
"hard_hit_edge": -1.35,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"offense_factor": 1.0443,
"quality_score": 0.5904,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805811",
"espn_id": 5149064,
"player_name": "Bryce Eldridge",
"team": "SF",
"role": "batter",
"espn_rank": 171,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 171,
"gp_value": 47.0,
"gp_rank": 316,
"ab_value": 164.0,
"ab_rank": 259,
"r_value": 24.0,
"r_rank": 211,
"h_value": 45.0,
"h_rank": 216,
"avg_value": 0.2743902,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 130,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 19.0,
"rbi_rank": 255,
"tb_value": 78.0,
"tb_rank": 1257,
"bb_value": 24.0,
"bb_rank": 146,
"so_value": 45.0,
"so_rank": 217,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3650793,
"obp_rank": "-",
"slg_value": 0.4756097,
"slg_rank": "-",
"ops_value": 0.840689,
"ops_rank": null,
"war_value": 0.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 46.0,
"k_percent": 23.8,
"bb_percent": 12.7,
"woba": 0.365,
"xwoba": 0.37,
"xba": 0.267,
"xslg": 0.502,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 54.2,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 13.9,
"whiff_percent": 23.5,
"swing_percent": 43.8
},
"components": {
"expected_quality": 1.5024,
"regression_edge": 0.1429,
"xwoba_edge": 1.9429,
"xba_edge": 0.8,
"xslg_edge": 1.85,
"barrel_edge": 1.2222,
"hard_hit_edge": 2.2786,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "642715",
"player_name": "Willy Adames",
"offense_factor": 0.9908,
"quality_score": -0.1224,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642715",
"espn_id": 33675,
"player_name": "Willy Adames",
"team": "SF",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 144,
"gp_value": 84.0,
"gp_rank": 79,
"ab_value": 332.0,
"ab_rank": 26,
"r_value": 43.0,
"r_rank": 77,
"h_value": 77.0,
"h_rank": 84,
"avg_value": 0.2319277,
"avg_rank": 130.0,
"2b_value": 21.0,
"2b_rank": 10,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 14.0,
"hr_rank": 48,
"rbi_value": 34.0,
"rbi_rank": 126,
"tb_value": 142.0,
"tb_rank": 256,
"bb_value": 21.0,
"bb_rank": 177,
"so_value": 101.0,
"so_rank": 13,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.2788732,
"obp_rank": "154",
"slg_value": 0.4277108,
"slg_rank": "77",
"ops_value": 0.706584,
"ops_rank": 231.0,
"war_value": 1.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 28.5,
"bb_percent": 5.9,
"woba": 0.306,
"xwoba": 0.288,
"xba": 0.219,
"xslg": 0.391,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 41.4,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 22.7,
"whiff_percent": 29.4,
"swing_percent": 48.3
},
"components": {
"expected_quality": -0.0586,
"regression_edge": -0.5143,
"xwoba_edge": -0.4,
"xba_edge": -0.5714,
"xslg_edge": 0.2643,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.45,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "682674",
"player_name": "Victor Bericoto",
"offense_factor": 1.004,
"quality_score": 0.0528,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682674",
"espn_id": 42502,
"player_name": "Victor Bericoto",
"team": "SF",
"role": "batter",
"espn_rank": 358,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 358,
"gp_value": 21.0,
"gp_rank": 442,
"ab_value": 47.0,
"ab_rank": 455,
"r_value": 5.0,
"r_rank": 443,
"h_value": 14.0,
"h_rank": 411,
"avg_value": 0.2978723,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 377,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 6.0,
"rbi_rank": 420,
"tb_value": 29.0,
"tb_rank": 1975,
"bb_value": 1.0,
"bb_rank": 496,
"so_value": 13.0,
"so_rank": 454,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.6170212,
"slg_rank": "-",
"ops_value": 0.9295212,
"ops_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 5.0,
"k_percent": 27.1,
"bb_percent": 2.1,
"woba": 0.394,
"xwoba": 0.298,
"xba": 0.214,
"xslg": 0.479,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 14.7,
"hard_hit_percent": 52.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 6.6,
"whiff_percent": 28.4,
"swing_percent": 55.4
},
"components": {
"expected_quality": 0.462,
"regression_edge": -2.0,
"xwoba_edge": -0.1143,
"xba_edge": -0.7143,
"xslg_edge": 1.5214,
"barrel_edge": 1.7111,
"hard_hit_edge": 2.0929,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.65,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "606992",
"player_name": "Eric Haase",
"offense_factor": 0.9967,
"quality_score": -0.0439,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606992",
"espn_id": 33452,
"player_name": "Eric Haase",
"team": "SF",
"role": "batter",
"espn_rank": 394,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 394,
"gp_value": 26.0,
"gp_rank": 414,
"ab_value": 69.0,
"ab_rank": 413,
"r_value": 8.0,
"r_rank": 401,
"h_value": 12.0,
"h_rank": 427,
"avg_value": 0.173913,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 377,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 9.0,
"rbi_rank": 369,
"tb_value": 27.0,
"tb_rank": 1991,
"bb_value": 6.0,
"bb_rank": 392,
"so_value": 25.0,
"so_rank": 348,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.3913043,
"slg_rank": "-",
"ops_value": 0.6413043,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 29.0,
"k_percent": 32.1,
"bb_percent": 7.7,
"woba": 0.281,
"xwoba": 0.288,
"xba": 0.196,
"xslg": 0.385,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 17.4,
"hard_hit_percent": 30.4,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 13.0,
"whiff_percent": 37.0,
"swing_percent": 48.3
},
"components": {
"expected_quality": -0.1459,
"regression_edge": 0.2,
"xwoba_edge": -0.4,
"xba_edge": -1.2286,
"xslg_edge": 0.1786,
"barrel_edge": 2.3111,
"hard_hit_edge": -1.1214,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 0.9888,
"raw_average_factor": 0.9888,
"team_espn_average_rank": 243.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "664770",
"player_name": "Nathan Lukes",
"offense_factor": 0.9863,
"quality_score": -0.1824,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664770",
"espn_id": 35682,
"player_name": "Nathan Lukes",
"team": "TOR",
"role": "batter",
"espn_rank": 202,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 202,
"gp_value": 56.0,
"gp_rank": 257,
"ab_value": 179.0,
"ab_rank": 244,
"r_value": 19.0,
"r_rank": 268,
"h_value": 51.0,
"h_rank": 194,
"avg_value": 0.2849162,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 17.0,
"rbi_rank": 279,
"tb_value": 71.0,
"tb_rank": 1599,
"bb_value": 9.0,
"bb_rank": 344,
"so_value": 31.0,
"so_rank": 303,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3316062,
"obp_rank": "-",
"slg_value": 0.396648,
"slg_rank": "-",
"ops_value": 0.7282542,
"ops_rank": null,
"war_value": 0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 68.0,
"k_percent": 15.8,
"bb_percent": 4.6,
"woba": 0.322,
"xwoba": 0.298,
"xba": 0.271,
"xslg": 0.351,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 27.6,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 10.9,
"whiff_percent": 19.5,
"swing_percent": 49.9
},
"components": {
"expected_quality": -0.3598,
"regression_edge": -0.6857,
"xwoba_edge": -0.1143,
"xba_edge": 0.9143,
"xslg_edge": -0.3071,
"barrel_edge": -1.2667,
"hard_hit_edge": -1.5214,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"offense_factor": 1.0493,
"quality_score": 0.6573,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672960",
"espn_id": 5134636,
"player_name": "Kazuma Okamoto",
"team": "TOR",
"role": "batter",
"espn_rank": 68,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 68,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 315.0,
"ab_rank": 71,
"r_value": 44.0,
"r_rank": 71,
"h_value": 74.0,
"h_rank": 91,
"avg_value": 0.2349206,
"avg_rank": 124.0,
"2b_value": 11.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 19.0,
"hr_rank": 19,
"rbi_value": 54.0,
"rbi_rank": 25,
"tb_value": 142.0,
"tb_rank": 745,
"bb_value": 33.0,
"bb_rank": 70,
"so_value": 112.0,
"so_rank": 8,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.3154929,
"obp_rank": "111",
"slg_value": 0.4507936,
"slg_rank": "62",
"ops_value": 0.7662865,
"ops_rank": 173.0,
"war_value": 1.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 31.5,
"bb_percent": 9.3,
"woba": 0.334,
"xwoba": 0.329,
"xba": 0.223,
"xslg": 0.448,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 14.6,
"hard_hit_percent": 48.8,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 17.0,
"whiff_percent": 34.0,
"swing_percent": 45.7
},
"components": {
"expected_quality": 0.7876,
"regression_edge": -0.1429,
"xwoba_edge": 0.7714,
"xba_edge": -0.4571,
"xslg_edge": 1.0786,
"barrel_edge": 1.6889,
"hard_hit_edge": 1.5071,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"offense_factor": 1.0613,
"quality_score": 0.8168,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665489",
"espn_id": 35002,
"player_name": "Vladimir Guerrero Jr.",
"team": "TOR",
"role": "batter",
"espn_rank": 179,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 179,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 312.0,
"ab_rank": 76,
"r_value": 46.0,
"r_rank": 53,
"h_value": 83.0,
"h_rank": 59,
"avg_value": 0.2660256,
"avg_rank": 57.0,
"2b_value": 14.0,
"2b_rank": 92,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 4.0,
"hr_rank": 247,
"rbi_value": 35.0,
"rbi_rank": 117,
"tb_value": 109.0,
"tb_rank": 1338,
"bb_value": 38.0,
"bb_rank": 45,
"so_value": 43.0,
"so_rank": 230,
"sb_value": 6.0,
"sb_rank": 90,
"obp_value": 0.3481894,
"obp_rank": "47",
"slg_value": 0.3493589,
"slg_rank": "141",
"ops_value": 0.6975483,
"ops_rank": 94.0,
"war_value": 0.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 12.0,
"bb_percent": 10.6,
"woba": 0.31,
"xwoba": 0.345,
"xba": 0.291,
"xslg": 0.41,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 44.2,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 7.8,
"whiff_percent": 19.9,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.7913,
"regression_edge": 1.0,
"xwoba_edge": 1.2286,
"xba_edge": 1.4857,
"xslg_edge": 0.5357,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.85,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "676391",
"player_name": "Ernie Clement",
"offense_factor": 0.9446,
"quality_score": -0.739,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676391",
"espn_id": 41287,
"player_name": "Ernie Clement",
"team": "TOR",
"role": "batter",
"espn_rank": 137,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 137,
"gp_value": 87.0,
"gp_rank": 38,
"ab_value": 331.0,
"ab_rank": 28,
"r_value": 38.0,
"r_rank": 109,
"h_value": 97.0,
"h_rank": 10,
"avg_value": 0.2930513,
"avg_rank": 16.0,
"2b_value": 22.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 29.0,
"rbi_rank": 166,
"tb_value": 142.0,
"tb_rank": 666,
"bb_value": 12.0,
"bb_rank": 285,
"so_value": 34.0,
"so_rank": 279,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.315942,
"obp_rank": "107",
"slg_value": 0.429003,
"slg_rank": "76",
"ops_value": 0.744945,
"ops_rank": 31.0,
"war_value": 1.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 9.9,
"bb_percent": 3.5,
"woba": 0.324,
"xwoba": 0.275,
"xba": 0.257,
"xslg": 0.346,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 23.7,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 15.7,
"whiff_percent": 16.1,
"swing_percent": 57.6
},
"components": {
"expected_quality": -0.6353,
"regression_edge": -1.4,
"xwoba_edge": -0.7714,
"xba_edge": 0.5143,
"xslg_edge": -0.3786,
"barrel_edge": -1.0444,
"hard_hit_edge": -2.0786,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "815873",
"player_name": "Sean Keys",
"offense_factor": 0.959,
"quality_score": -0.5471,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "815873",
"espn_id": 5128241,
"player_name": "Sean Keys",
"team": "TOR",
"role": "batter",
"espn_rank": 402,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 402,
"gp_value": 6.0,
"gp_rank": 551,
"ab_value": 21.0,
"ab_rank": 517,
"r_value": 3.0,
"r_rank": 471,
"h_value": 4.0,
"h_rank": 501,
"avg_value": 0.1904761,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 459,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 1.0,
"hr_rank": 392,
"rbi_value": 3.0,
"rbi_rank": 472,
"tb_value": 8.0,
"tb_rank": 2582,
"bb_value": 0.0,
"bb_rank": 544,
"so_value": 7.0,
"so_rank": 501,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.1904761,
"obp_rank": "-",
"slg_value": 0.3809523,
"slg_rank": "-",
"ops_value": 0.5714284,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 33.3,
"bb_percent": 0.0,
"woba": 0.242,
"xwoba": 0.201,
"xba": 0.189,
"xslg": 0.278,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 64.3,
"exit_velocity_avg": 94.2,
"launch_angle_avg": 22.4,
"whiff_percent": 38.3,
"swing_percent": 49.0
},
"components": {
"expected_quality": -1.2231,
"regression_edge": -1.1714,
"xwoba_edge": -2.5,
"xba_edge": -1.4286,
"xslg_edge": -1.35,
"barrel_edge": -1.5556,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.16,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "672386",
"player_name": "Alejandro Kirk",
"offense_factor": 0.9749,
"quality_score": -0.3342,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672386",
"espn_id": 42081,
"player_name": "Alejandro Kirk",
"team": "TOR",
"role": "batter",
"espn_rank": 487,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 487,
"gp_value": 21.0,
"gp_rank": 442,
"ab_value": 74.0,
"ab_rank": 404,
"r_value": 7.0,
"r_rank": 417,
"h_value": 14.0,
"h_rank": 411,
"avg_value": 0.1891891,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 417,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 2.0,
"hr_rank": 341,
"rbi_value": 7.0,
"rbi_rank": 399,
"tb_value": 22.0,
"tb_rank": 2297,
"bb_value": 6.0,
"bb_rank": 392,
"so_value": 12.0,
"so_rank": 459,
"sb_value": 0.0,
"sb_rank": 362,
"obp_value": 0.2469135,
"obp_rank": "-",
"slg_value": 0.2972972,
"slg_rank": "-",
"ops_value": 0.5442107,
"ops_rank": null,
"war_value": -0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 22.0,
"k_percent": 14.8,
"bb_percent": 7.4,
"woba": 0.243,
"xwoba": 0.257,
"xba": 0.216,
"xslg": 0.304,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 34.9,
"exit_velocity_avg": 84.6,
"launch_angle_avg": 6.5,
"whiff_percent": 21.5,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.9288,
"regression_edge": 0.4,
"xwoba_edge": -1.2857,
"xba_edge": -0.6571,
"xslg_edge": -0.9786,
"barrel_edge": -0.8444,
"hard_hit_edge": -0.4786,
"exit_velocity_edge": -1.68,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "662139",
"player_name": "Daulton Varsho",
"offense_factor": 0.9862,
"quality_score": -0.1836,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662139",
"espn_id": 40963,
"player_name": "Daulton Varsho",
"team": "TOR",
"role": "batter",
"espn_rank": 148,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 148,
"gp_value": 77.0,
"gp_rank": 141,
"ab_value": 257.0,
"ab_rank": 136,
"r_value": 32.0,
"r_rank": 152,
"h_value": 64.0,
"h_rank": 127,
"avg_value": 0.2490272,
"avg_rank": 94.0,
"2b_value": 16.0,
"2b_rank": 53,
"3b_value": 2.0,
"3b_rank": 27,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 23.0,
"rbi_rank": 219,
"tb_value": 105.0,
"tb_rank": 699,
"bb_value": 24.0,
"bb_rank": 146,
"so_value": 59.0,
"so_rank": 139,
"sb_value": 7.0,
"sb_rank": 77,
"obp_value": 0.3169014,
"obp_rank": "104",
"slg_value": 0.4085603,
"slg_rank": "100",
"ops_value": 0.7254617,
"ops_rank": 4.0,
"war_value": 1.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 208.0,
"k_percent": 20.8,
"bb_percent": 8.5,
"woba": 0.316,
"xwoba": 0.295,
"xba": 0.24,
"xslg": 0.361,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 38.7,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 15.1,
"whiff_percent": 21.5,
"swing_percent": 53.1
},
"components": {
"expected_quality": -0.1281,
"regression_edge": -0.6,
"xwoba_edge": -0.2,
"xba_edge": 0.0286,
"xslg_edge": -0.1643,
"barrel_edge": -0.1111,
"hard_hit_edge": 0.0643,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": 0.5667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664702",
"player_name": "Myles Straw",
"offense_factor": 0.9916,
"quality_score": -0.112,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664702",
"espn_id": 39105,
"player_name": "Myles Straw",
"team": "TOR",
"role": "batter",
"espn_rank": 366,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 366,
"gp_value": 78.0,
"gp_rank": 136,
"ab_value": 135.0,
"ab_rank": 298,
"r_value": 25.0,
"r_rank": 204,
"h_value": 32.0,
"h_rank": 289,
"avg_value": 0.237037,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 273,
"3b_value": 0.0,
"3b_rank": 223,
"hr_value": 3.0,
"hr_rank": 287,
"rbi_value": 16.0,
"rbi_rank": 284,
"tb_value": 47.0,
"tb_rank": 1869,
"bb_value": 13.0,
"bb_rank": 266,
"so_value": 22.0,
"so_rank": 381,
"sb_value": 2.0,
"sb_rank": 209,
"obp_value": 0.2980132,
"obp_rank": "-",
"slg_value": 0.3481481,
"slg_rank": "-",
"ops_value": 0.6461613,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 14.4,
"bb_percent": 8.5,
"woba": 0.287,
"xwoba": 0.297,
"xba": 0.257,
"xslg": 0.35,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 27.1,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 14.4,
"whiff_percent": 12.1,
"swing_percent": 38.4
},
"components": {
"expected_quality": -0.3358,
"regression_edge": 0.2857,
"xwoba_edge": -0.1429,
"xba_edge": 0.5143,
"xslg_edge": -0.3214,
"barrel_edge": -0.8,
"hard_hit_edge": -1.5929,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": -0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "665926",
"player_name": "Andrés Giménez",
"offense_factor": 0.9464,
"quality_score": -0.7152,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665926",
"espn_id": 37729,
"player_name": "Andres Gimenez",
"team": "TOR",
"role": "batter",
"espn_rank": 204,
"espn_total_ranked": 593,
"metrics": {
"espn_rank": 204,
"gp_value": 85.0,
"gp_rank": 63,
"ab_value": 271.0,
"ab_rank": 119,
"r_value": 24.0,
"r_rank": 211,
"h_value": 64.0,
"h_rank": 127,
"avg_value": 0.2361623,
"avg_rank": 119.0,
"2b_value": 14.0,
"2b_rank": 92,
"3b_value": 1.0,
"3b_rank": 93,
"hr_value": 7.0,
"hr_rank": 155,
"rbi_value": 35.0,
"rbi_rank": 117,
"tb_value": 101.0,
"tb_rank": 870,
"bb_value": 11.0,
"bb_rank": 302,
"so_value": 58.0,
"so_rank": 145,
"sb_value": 10.0,
"sb_rank": 48,
"obp_value": 0.2832764,
"obp_rank": "150",
"slg_value": 0.3726937,
"slg_rank": "126",
"ops_value": 0.6559701,
"ops_rank": 276.0,
"war_value": 0.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 191.0,
"k_percent": 19.7,
"bb_percent": 3.7,
"woba": 0.288,
"xwoba": 0.268,
"xba": 0.227,
"xslg": 0.319,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 24.3,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 12.7,
"whiff_percent": 25.3,
"swing_percent": 56.9
},
"components": {
"expected_quality": -0.8649,
"regression_edge": -0.5714,
"xwoba_edge": -0.9714,
"xba_edge": -0.3429,
"xslg_edge": -0.7643,
"barrel_edge": -0.7333,
"hard_hit_edge": -1.9929,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TOR | True | 47 | 0.1581 | 1 | 0.9866 | 1.0200 | 0.9360 | 1.0199 | neutral | 0.3020 | 0.3090 | 23.90 | 5.70 | 27.70 | 8.50 | 39.80 | |
| Home SF | True | 260 | 0.4389 | 0.9840 | 0.9627 | 1.0242 | 1.0315 | 0.8674 | neutral | 0.2890 | 0.3160 | 26 | 10.50 | 26.40 | 3.80 | 29.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TOR | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home SF | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9633 |
| home_runs_vs_away_pitcher | 0.9866 |
| home_pitcher_quality_edge | 0.2808 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "694738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 246.0,
"k_percent": 26.0,
"bb_percent": 10.5,
"woba": 0.316,
"xwoba": 0.289,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 29.3,
"avg_best_speed": 75.8243,
"avg_hyper_speed": 92.6887,
"whiff_percent": 26.4,
"swing_percent": 42.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.5734,
"command_and_miss": 0.1836,
"regression_edge": 0.7714,
"xwoba_edge": 0.6857,
"barrel_edge": 0.7778,
"hard_hit_edge": 1.3,
"whiff_edge": 0.1286,
"bb_edge": -0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "694738",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4389,
"sample_weight": 0.984,
"run_prevention_factor": 0.9627,
"strikeout_factor": 1.0242,
"walk_factor": 1.0315,
"homer_factor": 0.8674,
"woba_minus_xwoba": 0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694738",
"espn_id": 4345404,
"player_name": "Landen Roupp",
"team": "SF",
"role": "pitcher",
"espn_rank": 260,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 260,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 17.0,
"gs_rank": 36,
"qs_value": 7.0,
"qs_rank": 41,
"era_value": 4.5505,
"era_rank": 58.0,
"w_value": 5.0,
"w_rank": 63,
"l_value": 8.0,
"l_rank": 4,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 89.0,
"ip_rank": 66,
"h_value": 82.0,
"h_rank": 62,
"er_value": 45.0,
"er_rank": 33,
"hr_value": 6.0,
"hr_rank": 171,
"bb_value": 40.0,
"bb_rank": 11,
"k_value": 99.0,
"k_rank": 30,
"k_per_9_value": 10.011235,
"k_per_9_rank": 12.0,
"whip_value": 1.3707,
"whip_rank": 53.0,
"war_value": 0.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "592332",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 276.0,
"k_percent": 23.9,
"bb_percent": 5.7,
"woba": 0.309,
"xwoba": 0.302,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 39.8,
"avg_best_speed": 77.1762,
"avg_hyper_speed": 94.6588,
"whiff_percent": 27.7,
"swing_percent": 50.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.0824,
"command_and_miss": 0.3536,
"regression_edge": 0.2,
"xwoba_edge": 0.3143,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.2,
"whiff_edge": 0.3143,
"bb_edge": 0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592332",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1581,
"sample_weight": 1.0,
"run_prevention_factor": 0.9866,
"strikeout_factor": 1.02,
"walk_factor": 0.936,
"homer_factor": 1.0199,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592332",
"espn_id": 32667,
"player_name": "Kevin Gausman",
"team": "TOR",
"role": "pitcher",
"espn_rank": 47,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 47,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 9.0,
"qs_rank": 23,
"era_value": 4.1881,
"era_rank": 50.0,
"w_value": 4.0,
"w_rank": 95,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 101.0,
"ip_rank": 24,
"h_value": 96.0,
"h_rank": 23,
"er_value": 47.0,
"er_rank": 21,
"hr_value": 15.0,
"hr_rank": 24,
"bb_value": 24.0,
"bb_rank": 111,
"k_value": 100.0,
"k_rank": 26,
"k_per_9_value": 8.910891,
"k_per_9_rank": 29.0,
"whip_value": 1.1881,
"whip_rank": 35.0,
"war_value": 1.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9633,
"home_runs_vs_away_pitcher": 0.9866,
"home_pitcher_quality_edge": 0.2808
},
"score_before": {
"away_runs": 4.5265,
"home_runs": 3.1054
},
"score_after": {
"away_runs": 4.3603,
"home_runs": 3.0638,
"home_win_probability": 0.3948
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away TOR | 3-7 | 0.300 | 2.70 | 4.10 | -14 | cold | average | |
| Home SF | 3-7 | 0.300 | 4 | 5.60 | -16 | average | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TOR | 42-48 | 0.467 | -42 | -0.467 | True |
| Home SF | 38-52 | 0.422 | -61 | -0.678 | True |
| Signal | - | - | -0.211 | -0.278 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TOR | - | - | 4 | - | - | - | - |
| Game target SF | - | - | 3 | - | - | - | - |
| Player finalized TOR | 34 | 9 | 0 | 0 | 2 | 0 | 7 |
| Player finalized SF | 34 | 9 | 4 | 0 | 1 | 1 | 8 |
| Player model fractional TOR | 31.67 | 7.20 | 3.54 | 0.85 | 3.35 | 2.07 | 6.46 |
| Player model fractional SF | 33.53 | 8.09 | 4.20 | 1.26 | 3.69 | 2.18 | 7.59 |
| Simulation box TOR | 36 | 9 | 5 | 2 | 5 | 3 | 10 |
| Simulation box SF | 30 | 3 | 2 | 2 | 2 | 3 | 8 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away TOR | Starter | Kevin Gausman | 5.10 | 2 | 6 | 3 | 2 | 5.36 | 1.36 | True |
| Away TOR | Middle Reliever | Jeff Hoffman | 1 | 0 | 2 | 0 | 0 | 2.33 | 1.12 | True |
| Away TOR | Middle Reliever | Louis Varland | 1.20 | 0 | 0 | 0 | 0 | 2.78 | 1.14 | True |
| Away TOR | Middle Reliever | Tyler Rogers | 1 | 0 | 0 | 0 | 1 | 2.66 | 1.54 | True |
| Home SF | Starter | Landen Roupp | 5 | 0 | 5 | 3 | 1 | 5.14 | 1.48 | True |
| Home SF | Middle Reliever | Caleb Kilian | 1 | 4 | 1 | 4 | 1 | 6.63 | 1.63 | True |
| Home SF | Middle Reliever | Dylan Smith | 1 | 1 | 1 | 2 | 0 | 5.18 | 1.36 | True |
| Home SF | Middle Reliever | Erik Miller | 1 | 0 | 2 | 0 | 0 | 2.85 | 1.37 | True |
| Home SF | Middle Reliever | Ryan Walker | 1 | 0 | 1 | 0 | 1 | 4.83 | 1.40 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | TOR | batter | C | Alejandro Kirk | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 2.6600 | boost | better |
| home | SF | batter | 3B | Casey Schmitt | worse | 10 | 5 | 5 | 4 | 6 | predicted_HR | 1.8300 | boost | better |
| away | TOR | batter | CF | Daulton Varsho | worse | 10 | 5 | 5 | 4 | 6 | predicted_2B | 1.7750 | boost | better |
| home | SF | batter | CF | Jung Hoo Lee | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.6500 | boost | worse |
| away | TOR | batter | RF | Nathan Lukes | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.4500 | boost | better |
| home | SF | batter | 1B | Bryce Eldridge | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.4380 | deboost | worse |
| home | SF | batter | 2B | Luis Arraez | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.2100 | deboost | worse |
| away | TOR | batter | 3B | Kazuma Okamoto | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 1.1900 | boost | better |
| away | TOR | batter | DH | Sean Keys | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -1.1670 | deboost | better |
| home | SF | batter | DH | Rafael Devers | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | -1.0600 | deboost | worse |
| home | SF | batter | C | Eric Haase | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -1.0420 | deboost | better |
| home | SF | batter | RF | Heliot Ramos | worse | 9 | 1 | 8 | 0 | 9 | predicted_H | -1.0400 | deboost | worse |
| home | SF | batter | SS | Willy Adames | worse | 8 | 0 | 8 | 1 | 7 | predicted_H | -0.9500 | deboost | worse |
| away | TOR | batter | 2B | Ernie Clement | better | 11 | 5 | 6 | 6 | 5 | predicted_HR | 0.9200 | boost | better |
| away | TOR | batter | SS | Andrés Giménez | worse | 11 | 4 | 7 | 3 | 8 | predicted_2B | 0.8310 | boost | better |
| away | TOR | batter | LF | Myles Straw | better | 11 | 5 | 6 | 6 | 5 | predicted_BB | 0.7960 | boost | better |
| home | SF | batter | LF | Victor Bericoto | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.7220 | deboost | better |
| away | TOR | batter | 1B | Vladimir Guerrero Jr. | worse | 7 | 2 | 5 | 3 | 4 | predicted_BB | 0.5710 | boost | better |
| away | TOR | pitcher | Starter | Kevin Gausman | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | TOR | pitcher | Middle Reliever | Louis Varland | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Kevin Gausman |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1581 |
| ESPN Rank | 47 |
| 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 | 3 |
| Pre BB | 2 |
| Pre SO | 6 |
| Season ERA | 4.1881 |
| Season WHIP | 1.1881 |
| Role Avg IP | 5.6110 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"opponent": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"edges": {
"quality_edge": 0.0184,
"offense_edge": -0.1188,
"opponent_offense_edge": -0.0637,
"defense_strength": 0.0713,
"opponent_defense_weakness": 0.0321,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0054,
"run_prevention": 0.9818,
"strikeout": 1.0056
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592332",
"profile": {
"available": true,
"pitcher_id": "592332",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 276.0,
"k_percent": 23.9,
"bb_percent": 5.7,
"woba": 0.309,
"xwoba": 0.302,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 39.8,
"avg_best_speed": 77.1762,
"avg_hyper_speed": 94.6588,
"whiff_percent": 27.7,
"swing_percent": 50.6
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.0824,
"command_and_miss": 0.3536,
"regression_edge": 0.2,
"xwoba_edge": 0.3143,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.2,
"whiff_edge": 0.3143,
"bb_edge": 0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592332",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1581,
"sample_weight": 1.0,
"run_prevention_factor": 0.9866,
"strikeout_factor": 1.02,
"walk_factor": 0.936,
"homer_factor": 1.0199,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592332",
"espn_id": 32667,
"player_name": "Kevin Gausman",
"team": "TOR",
"role": "pitcher",
"espn_rank": 47,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 47,
"gp_value": 18.0,
"gp_rank": 237,
"gs_value": 18.0,
"gs_rank": 5,
"qs_value": 9.0,
"qs_rank": 23,
"era_value": 4.1881,
"era_rank": 50.0,
"w_value": 4.0,
"w_rank": 95,
"l_value": 7.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 101.0,
"ip_rank": 24,
"h_value": 96.0,
"h_rank": 23,
"er_value": 47.0,
"er_rank": 21,
"hr_value": 15.0,
"hr_rank": 24,
"bb_value": 24.0,
"bb_rank": 111,
"k_value": 100.0,
"k_rank": 26,
"k_per_9_value": 8.910891,
"k_per_9_rank": 29.0,
"whip_value": 1.1881,
"whip_rank": 35.0,
"war_value": 1.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9866,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9866,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.936,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0199,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.02,
"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": 54.1,
"ER": 31,
"H": 59,
"BB": 15,
"SO": 57,
"HR": 10,
"ERA": 5.134969325153374,
"WHIP": 1.361963190184049,
"K9": 9.441717791411042,
"HR9": 1.656441717791411,
"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-30T00:00:00"
}{
"available": false,
"pitcher_id": "592332",
"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": "592332",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 19.0,
"R": 19.0,
"H": 28.0,
"BB": 10.0,
"SO": 26.0,
"HR": 8.0,
"BF": 114.0,
"Pitches": 461.0
},
"per_game": {
"IP": 5.1,
"ER": 3.8,
"R": 3.8,
"H": 5.6,
"BB": 2.0,
"SO": 5.2,
"HR": 1.6,
"BF": 22.8,
"Pitches": 92.2
},
"rates": {
"ERA": 6.5769,
"WHIP": 1.4615,
"ER_per_IP": 0.73077,
"H_per_IP": 1.07692,
"BB_per_IP": 0.38462,
"SO_per_IP": 1.0,
"HR_per_IP": 0.30769
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.1,
"ER": 31.0,
"R": 32.0,
"H": 59.0,
"BB": 15.0,
"SO": 57.0,
"HR": 10.0,
"BF": 234.0,
"Pitches": 943.0
},
"per_game": {
"IP": 5.1,
"ER": 3.1,
"R": 3.2,
"H": 5.9,
"BB": 1.5,
"SO": 5.7,
"HR": 1.0,
"BF": 23.4,
"Pitches": 94.3
},
"rates": {
"ERA": 5.135,
"WHIP": 1.362,
"ER_per_IP": 0.57055,
"H_per_IP": 1.08589,
"BB_per_IP": 0.27607,
"SO_per_IP": 1.04908,
"HR_per_IP": 0.18405
}
},
"season": {
"games": 18,
"totals": {
"IP": 101.0,
"ER": 47.0,
"R": 49.0,
"H": 96.0,
"BB": 24.0,
"SO": 100.0,
"HR": 15.0,
"BF": 419.0,
"Pitches": 1663.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6111,
"R": 2.7222,
"H": 5.3333,
"BB": 1.3333,
"SO": 5.5556,
"HR": 0.8333,
"BF": 23.2778,
"Pitches": 92.3889
},
"rates": {
"ERA": 4.1881,
"WHIP": 1.1881,
"ER_per_IP": 0.46535,
"H_per_IP": 0.9505,
"BB_per_IP": 0.23762,
"SO_per_IP": 0.9901,
"HR_per_IP": 0.14851
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 3.21,
"predicted_H": 5.581,
"predicted_BB": 1.755,
"predicted_SO": 5.396,
"predicted_HR": 1.155,
"predicted_ERA": 5.3645,
"predicted_WHIP": 1.3622
}
}{
"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": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 3.21,
"final": 2.6754,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.581,
"final": 4.4406,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.755,
"final": 1.8633,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.396,
"final": 5.6629,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 1.155,
"final": 1.5284,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3645,
"final": 5.3645,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3622,
"final": 1.3622,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jeff Hoffman |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3896 |
| ESPN Rank | 451 |
| 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 | 4.4224 |
| Season WHIP | 1.4224 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"opponent": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"edges": {
"quality_edge": 0.0184,
"offense_edge": -0.1188,
"opponent_offense_edge": -0.0637,
"defense_strength": 0.0713,
"opponent_defense_weakness": 0.0321,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0054,
"run_prevention": 0.9818,
"strikeout": 1.0056
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656546",
"profile": {
"available": true,
"pitcher_id": "656546",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 35.8,
"bb_percent": 8.7,
"woba": 0.322,
"xwoba": 0.273,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 30.4,
"avg_best_speed": 76.8304,
"avg_hyper_speed": 92.6694,
"whiff_percent": 38.1,
"swing_percent": 51.0
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.605,
"command_and_miss": 1.4886,
"regression_edge": 1.4,
"xwoba_edge": 1.1429,
"barrel_edge": -0.0889,
"hard_hit_edge": 1.1429,
"whiff_edge": 1.8,
"bb_edge": 0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656546",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3896,
"sample_weight": 0.45,
"run_prevention_factor": 0.9669,
"strikeout_factor": 1.0663,
"walk_factor": 0.9982,
"homer_factor": 0.9672,
"woba_minus_xwoba": 0.049,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656546",
"espn_id": 33841,
"player_name": "Jeff Hoffman",
"team": "TOR",
"role": "pitcher",
"espn_rank": 451,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 451,
"gp_value": 41.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 4.4224,
"era_rank": null,
"w_value": 5.0,
"w_rank": 63,
"l_value": 5.0,
"l_rank": 68,
"sv_value": 5.0,
"sv_rank": 32,
"hld_value": 9.0,
"hld_rank": 49,
"ip_value": 38.2,
"ip_rank": 227,
"h_value": 40.0,
"h_rank": 178,
"er_value": 19.0,
"er_rank": 197,
"hr_value": 4.0,
"hr_rank": 259,
"bb_value": 15.0,
"bb_rank": 238,
"k_value": 62.0,
"k_rank": 110,
"k_per_9_value": 14.431035,
"k_per_9_rank": 13.0,
"whip_value": 1.4224,
"whip_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9851,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9851,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9852,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0298,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 0,
"H": 3,
"BB": 5,
"SO": 13,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.7741935483870969,
"K9": 11.322580645161292,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-03T00:00:00"
}{
"available": false,
"pitcher_id": "656546",
"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.668,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6053,
"prior_weight": 0.3947
},
"role": "pitcher",
"player_id": "656546",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 1.0,
"H": 2.0,
"BB": 3.0,
"SO": 8.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 94.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.4,
"BB": 0.6,
"SO": 1.6,
"HR": 0.0,
"BF": 4.2,
"Pitches": 18.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9375,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 0.0,
"R": 1.0,
"H": 3.0,
"BB": 5.0,
"SO": 13.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.1,
"H": 0.3,
"BB": 0.5,
"SO": 1.3,
"HR": 0.0,
"BF": 4.0,
"Pitches": 18.3
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7742,
"ER_per_IP": 0.0,
"H_per_IP": 0.29032,
"BB_per_IP": 0.48387,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.0
}
},
"season": {
"games": 41,
"totals": {
"IP": 38.2,
"ER": 19.0,
"R": 23.0,
"H": 40.0,
"BB": 15.0,
"SO": 62.0,
"HR": 4.0,
"BF": 173.0,
"Pitches": 715.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4634,
"R": 0.561,
"H": 0.9756,
"BB": 0.3659,
"SO": 1.5122,
"HR": 0.0976,
"BF": 4.2195,
"Pitches": 17.439
},
"rates": {
"ERA": 4.4224,
"WHIP": 1.4224,
"ER_per_IP": 0.49138,
"H_per_IP": 1.03448,
"BB_per_IP": 0.38793,
"SO_per_IP": 1.60345,
"HR_per_IP": 0.10345
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.258,
"predicted_H": 0.672,
"predicted_BB": 0.444,
"predicted_SO": 1.246,
"predicted_HR": 0.071,
"predicted_ERA": 2.326,
"predicted_WHIP": 1.1153
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5168,
"form_weight": 0.4832,
"form_reliability": 0.6053,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.668,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6053,
"prior_weight": 0.3947
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.258,
"final": 0.1247,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.672,
"final": 0.3247,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.444,
"final": 0.2146,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.246,
"final": 1.6356,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.071,
"final": 0.0343,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.326,
"final": 2.326,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1153,
"final": 1.1153,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Louis Varland |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5855 |
| ESPN Rank | 15 |
| 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 | 0.9574 |
| Season WHIP | 0.9574 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"opponent": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"edges": {
"quality_edge": 0.0184,
"offense_edge": -0.1188,
"opponent_offense_edge": -0.0637,
"defense_strength": 0.0713,
"opponent_defense_weakness": 0.0321,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0054,
"run_prevention": 0.9818,
"strikeout": 1.0056
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686973",
"profile": {
"available": true,
"pitcher_id": "686973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 111.0,
"k_percent": 35.9,
"bb_percent": 7.2,
"woba": 0.222,
"xwoba": 0.22,
"sweet_spot_percent": 23.3,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 35.9,
"avg_best_speed": 75.669,
"avg_hyper_speed": 93.22,
"whiff_percent": 29.2,
"swing_percent": 51.3
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.7908,
"command_and_miss": 1.125,
"regression_edge": 0.0571,
"xwoba_edge": 2.5,
"barrel_edge": 0.9778,
"hard_hit_edge": 0.3571,
"whiff_edge": 0.5286,
"bb_edge": 0.425,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "686973",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5855,
"sample_weight": 0.45,
"run_prevention_factor": 0.9502,
"strikeout_factor": 1.0437,
"walk_factor": 0.9847,
"homer_factor": 0.9246,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686973",
"espn_id": 4917888,
"player_name": "Louis Varland",
"team": "TOR",
"role": "pitcher",
"espn_rank": 15,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 15,
"gp_value": 42.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 0.9574,
"era_rank": null,
"w_value": 3.0,
"w_rank": 147,
"l_value": 3.0,
"l_rank": 144,
"sv_value": 18.0,
"sv_rank": 7,
"hld_value": 5.0,
"hld_rank": 111,
"ip_value": 47.0,
"ip_rank": 166,
"h_value": 32.0,
"h_rank": 249,
"er_value": 5.0,
"er_rank": 536,
"hr_value": 1.0,
"hr_rank": 494,
"bb_value": 13.0,
"bb_rank": 272,
"k_value": 65.0,
"k_rank": 101,
"k_per_9_value": 12.446808,
"k_per_9_rank": 16.0,
"whip_value": 0.9574,
"whip_rank": null,
"war_value": 2.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9776,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9776,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9931,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9661,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0197,
"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": 7,
"BB": 3,
"SO": 19,
"HR": 1,
"ERA": 2.382352941176471,
"WHIP": 0.8823529411764707,
"K9": 15.088235294117649,
"HR9": 0.7941176470588236,
"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-07-03T00:00:00"
}{
"available": false,
"pitcher_id": "686973",
"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.321,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6509,
"prior_weight": 0.3491
},
"role": "pitcher",
"player_id": "686973",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.8
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 3.0,
"SO": 19.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.3,
"SO": 1.9,
"HR": 0.1,
"BF": 4.4,
"Pitches": 17.0
},
"rates": {
"ERA": 2.3824,
"WHIP": 0.8824,
"ER_per_IP": 0.26471,
"H_per_IP": 0.61765,
"BB_per_IP": 0.26471,
"SO_per_IP": 1.67647,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 42,
"totals": {
"IP": 47.0,
"ER": 5.0,
"R": 10.0,
"H": 32.0,
"BB": 13.0,
"SO": 65.0,
"HR": 1.0,
"BF": 181.0,
"Pitches": 741.0
},
"per_game": {
"IP": 1.0,
"ER": 0.119,
"R": 0.2381,
"H": 0.7619,
"BB": 0.3095,
"SO": 1.5476,
"HR": 0.0238,
"BF": 4.3095,
"Pitches": 17.6429
},
"rates": {
"ERA": 0.9574,
"WHIP": 0.9574,
"ER_per_IP": 0.10638,
"H_per_IP": 0.68085,
"BB_per_IP": 0.2766,
"SO_per_IP": 1.38298,
"HR_per_IP": 0.02128
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.309,
"predicted_H": 0.802,
"predicted_BB": 0.338,
"predicted_SO": 1.364,
"predicted_HR": 0.075,
"predicted_ERA": 2.7783,
"predicted_WHIP": 1.1404
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4975,
"form_weight": 0.5025,
"form_reliability": 0.6509,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.321,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6509,
"prior_weight": 0.3491
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.309,
"final": 0.1553,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.802,
"final": 0.403,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.338,
"final": 0.1698,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.364,
"final": 0.6854,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0377,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7783,
"final": 2.7783,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1404,
"final": 1.1404,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tyler Rogers |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2552 |
| 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 | 1 |
| Pre SO | 0 |
| Season ERA | 1.7705 |
| Season WHIP | 1.2049 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"opponent": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"edges": {
"quality_edge": 0.0184,
"offense_edge": -0.1188,
"opponent_offense_edge": -0.0637,
"defense_strength": 0.0713,
"opponent_defense_weakness": 0.0321,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0054,
"run_prevention": 0.9818,
"strikeout": 1.0056
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643511",
"profile": {
"available": true,
"pitcher_id": "643511",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 12.4,
"bb_percent": 7.6,
"woba": 0.249,
"xwoba": 0.258,
"sweet_spot_percent": 23.7,
"barrel_batted_rate": 0.8,
"hard_hit_percent": 25.9,
"avg_best_speed": 71.627,
"avg_hyper_speed": 92.1915,
"whiff_percent": 13.7,
"swing_percent": 50.8
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.607,
"command_and_miss": -1.1807,
"regression_edge": -0.2571,
"xwoba_edge": 1.5714,
"barrel_edge": 1.4444,
"hard_hit_edge": 1.7857,
"whiff_edge": -1.6857,
"bb_edge": 0.325,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "643511",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2552,
"sample_weight": 0.45,
"run_prevention_factor": 0.9783,
"strikeout_factor": 0.9434,
"walk_factor": 0.9883,
"homer_factor": 0.8946,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643511",
"espn_id": 34026,
"player_name": "Tyler Rogers",
"team": "TOR",
"role": "pitcher",
"espn_rank": 129,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 129,
"gp_value": 42.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 1.7704,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 2.0,
"l_rank": 216,
"sv_value": 2.0,
"sv_rank": 63,
"hld_value": 18.0,
"hld_rank": 3,
"ip_value": 40.2,
"ip_rank": 200,
"h_value": 36.0,
"h_rank": 207,
"er_value": 8.0,
"er_rank": 451,
"hr_value": 0.0,
"hr_rank": 625,
"bb_value": 13.0,
"bb_rank": 272,
"k_value": 21.0,
"k_rank": 390,
"k_per_9_value": 4.647541,
"k_per_9_rank": 52.0,
"whip_value": 1.2049,
"whip_rank": null,
"war_value": 0.93,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9902,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9902,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9526,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9745,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 1,
"H": 14,
"BB": 3,
"SO": 3,
"HR": 0,
"ERA": 0.9310344827586208,
"WHIP": 1.7586206896551726,
"K9": 2.793103448275862,
"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-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "643511",
"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.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6173,
"prior_weight": 0.3827
},
"role": "pitcher",
"player_id": "643511",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 2.0,
"H": 7.0,
"BB": 2.0,
"SO": 1.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 1.4,
"BB": 0.4,
"SO": 0.2,
"HR": 0.0,
"BF": 4.8,
"Pitches": 14.8
},
"rates": {
"ERA": 1.8,
"WHIP": 1.8,
"ER_per_IP": 0.2,
"H_per_IP": 1.4,
"BB_per_IP": 0.4,
"SO_per_IP": 0.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 7.0,
"H": 14.0,
"BB": 3.0,
"SO": 3.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.7,
"H": 1.4,
"BB": 0.3,
"SO": 0.3,
"HR": 0.0,
"BF": 4.7,
"Pitches": 15.9
},
"rates": {
"ERA": 0.931,
"WHIP": 1.7586,
"ER_per_IP": 0.10345,
"H_per_IP": 1.44828,
"BB_per_IP": 0.31034,
"SO_per_IP": 0.31034,
"HR_per_IP": 0.0
}
},
"season": {
"games": 42,
"totals": {
"IP": 40.2,
"ER": 8.0,
"R": 15.0,
"H": 36.0,
"BB": 13.0,
"SO": 21.0,
"HR": 0.0,
"BF": 170.0,
"Pitches": 589.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1905,
"R": 0.3571,
"H": 0.8571,
"BB": 0.3095,
"SO": 0.5,
"HR": 0.0,
"BF": 4.0476,
"Pitches": 14.0238
},
"rates": {
"ERA": 1.7705,
"WHIP": 1.2049,
"ER_per_IP": 0.19672,
"H_per_IP": 0.88525,
"BB_per_IP": 0.31967,
"SO_per_IP": 0.51639,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.295,
"predicted_H": 1.182,
"predicted_BB": 0.354,
"predicted_SO": 0.552,
"predicted_HR": 0.057,
"predicted_ERA": 2.6559,
"predicted_WHIP": 1.5365
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5117,
"form_weight": 0.4883,
"form_reliability": 0.6173,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6173,
"prior_weight": 0.3827
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.295,
"final": 0.1441,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.182,
"final": 0.5772,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.354,
"final": 0.6846,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.552,
"final": 0.2695,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.057,
"final": 0.0278,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6559,
"final": 2.6559,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5365,
"final": 1.5365,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.145 | 0.000 | 0.000 | Hitting_2B | 0.223 | 0.000 | -0.223 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.550 | 5.000 | 4.000 | Hitting_AB | 3.408 | 4.000 | 1.592 | 1.000 |
| predicted_AVG | 0.249 | 0.200 | 0.250 | Hitting_AVG | 0.308 | 0.250 | -0.108 | -0.050 |
| predicted_BB | 0.164 | 0.000 | 0.000 | Hitting_BB | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.880 | 1.000 | 1.000 | Hitting_H | 1.049 | 1.000 | -0.049 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_OBP | 0.292 | 0.200 | 0.250 | Hitting_OBP | 0.352 | 0.250 | -0.152 | -0.050 |
| predicted_R | 0.327 | 0.000 | 0.000 | Hitting_R | 0.330 | 0.000 | -0.330 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.408 | 0.000 | -0.408 | 0.000 |
| predicted_SLG | 0.357 | 0.200 | 0.250 | Hitting_SLG | 0.407 | 0.250 | -0.207 | -0.050 |
| predicted_SO | 0.564 | 2.000 | 1.000 | Hitting_SO | 0.573 | 1.000 | 1.427 | 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.5500 -> 5.0000 (boost 1.4500, better) |
| Biggest Deboost | predicted_R: 0.3270 -> 0.0000 (deboost -0.3270, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3570 -> 0.3495 (deboost -0.0075, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2899 -> 0.2780 (deboost -0.0119, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.5508 -> 4.0000 (boost 0.4492, better) | predicted_RBI: 0.2943 -> 0.0000 (deboost -0.2943, worse) | AB rounded to 4 (raw=3.55), rates preserved: AVG=0.244 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3217 -> 0.0000 (deboost -0.3217, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2436 -> 0.2500 (boost 0.0064, better) | predicted_SLG: 0.3503 -> 0.2500 (deboost -0.1003, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 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.3503 (boost 0.1003, better) | predicted_AVG: 0.2500 -> 0.2436 (deboost -0.0064, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664770",
"player_name": "Nathan Lukes",
"position": "RF",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.0,
"predicted_AB": 3.55,
"predicted_AVG": 0.249,
"predicted_BB": 0.164,
"predicted_H": 0.88,
"predicted_HR": 0.09,
"predicted_OBP": 0.292,
"predicted_R": 0.327,
"predicted_RBI": 0.32,
"predicted_SLG": 0.357,
"predicted_SO": 0.564
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1286,
"predicted_3B": 0.0008,
"predicted_AB": 3.5508,
"predicted_AVG": 0.2472,
"predicted_BB": 0.1697,
"predicted_H": 0.8751,
"predicted_HBP": 0.045,
"predicted_HR": 0.0838,
"predicted_OBP": 0.2899,
"predicted_R": 0.3278,
"predicted_RBI": 0.2999,
"predicted_SLG": 0.3495,
"predicted_SO": 0.5977
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1286,
"delta": -0.0164,
"percent_delta": -0.1131,
"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.55,
"after": 3.5508,
"delta": 0.0008,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2472,
"delta": -0.0018,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.164,
"after": 0.1697,
"delta": 0.0057,
"percent_delta": 0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8751,
"delta": -0.0049,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0838,
"delta": -0.0062,
"percent_delta": -0.0689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2899,
"delta": -0.0021,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.327,
"after": 0.3278,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.2999,
"delta": -0.0201,
"percent_delta": -0.0628,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3495,
"delta": -0.0075,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 0.5977,
"delta": 0.0337,
"percent_delta": 0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.357,
"after": 0.3495,
"delta": -0.0075,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1286,
"predicted_3B": 0.0008,
"predicted_AB": 3.5508,
"predicted_AVG": 0.2436,
"predicted_BB": 0.169,
"predicted_H": 0.8649,
"predicted_HBP": 0.045,
"predicted_HR": 0.083,
"predicted_OBP": 0.278,
"predicted_R": 0.3217,
"predicted_RBI": 0.2943,
"predicted_SLG": 0.3503,
"predicted_SO": 0.6002
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1286,
"after": 0.1286,
"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.5508,
"after": 3.5508,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2472,
"after": 0.2436,
"delta": -0.0036,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1697,
"after": 0.169,
"delta": -0.0007,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8751,
"after": 0.8649,
"delta": -0.0102,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0838,
"after": 0.083,
"delta": -0.0008,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2899,
"after": 0.278,
"delta": -0.0119,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3278,
"after": 0.3217,
"delta": -0.0061,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2999,
"after": 0.2943,
"delta": -0.0056,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3495,
"after": 0.3503,
"delta": 0.0008,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5977,
"after": 0.6002,
"delta": 0.0025,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2899,
"after": 0.278,
"delta": -0.0119,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.55), rates preserved: AVG=0.244 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.1286,
"after": 0.0,
"delta": -0.1286,
"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.5508,
"after": 4.0,
"delta": 0.4492,
"percent_delta": 0.1265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8649,
"after": 1.0,
"delta": 0.1351,
"percent_delta": 0.1562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2943,
"after": 0.0,
"delta": -0.2943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6002,
"after": 1.0,
"delta": 0.3998,
"percent_delta": 0.6661,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5508,
"after": 4.0,
"delta": 0.4492,
"percent_delta": 0.1265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2943,
"after": 0.0,
"delta": -0.2943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3217,
"after": 0.0,
"delta": -0.3217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3217,
"after": 0.0,
"delta": -0.3217,
"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.2436,
"after": 0.25,
"delta": 0.0064,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.25,
"delta": -0.028,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3503,
"after": 0.25,
"delta": -0.1003,
"percent_delta": -0.2863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2436,
"after": 0.25,
"delta": 0.0064,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3503,
"after": 0.25,
"delta": -0.1003,
"percent_delta": -0.2863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 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.2436,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.278,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3503,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2436,
"delta": -0.0064,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.278,
"delta": 0.028,
"percent_delta": 0.1118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3503,
"delta": 0.1003,
"percent_delta": 0.4014,
"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.3503,
"delta": 0.1003,
"percent_delta": 0.4014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2436,
"delta": -0.0064,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.55,
"after": 5.0,
"delta": 1.45,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2436,
"delta": -0.0054,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.278,
"delta": -0.014,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.327,
"after": 0.0,
"delta": -0.327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3503,
"delta": -0.0067,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 2.0,
"delta": 1.436,
"percent_delta": 2.5461,
"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.55,
"after": 5.0,
"delta": 1.45,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.327,
"after": 0.0,
"delta": -0.327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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 | 3.550 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.164 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.327 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.564 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | -0.016 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.551 | 0.001 |
| predicted_AVG | 0.247 | -0.002 |
| predicted_BB | 0.170 | 0.006 |
| predicted_H | 0.875 | -0.005 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.084 | -0.006 |
| predicted_OBP | 0.290 | -0.002 |
| predicted_R | 0.328 | 0.001 |
| predicted_RBI | 0.300 | -0.020 |
| predicted_SLG | 0.349 | -0.008 |
| predicted_SO | 0.598 | 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.129 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.551 | 0.000 |
| predicted_AVG | 0.244 | -0.004 |
| predicted_BB | 0.169 | -0.001 |
| predicted_H | 0.865 | -0.010 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.083 | -0.001 |
| predicted_OBP | 0.278 | -0.012 |
| predicted_R | 0.322 | -0.006 |
| predicted_RBI | 0.294 | -0.006 |
| predicted_SLG | 0.350 | 0.001 |
| predicted_SO | 0.600 | 0.002 |
AB rounded to 4 (raw=3.55), rates preserved: AVG=0.244 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.129 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.449 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 0.000 | -0.169 |
| predicted_H | 1.000 | 0.135 |
| predicted_HR | 0.000 | -0.083 |
| predicted_OBP | 0.250 | -0.028 |
| predicted_R | 0.000 | -0.322 |
| predicted_RBI | 0.000 | -0.294 |
| predicted_SLG | 0.250 | -0.100 |
| predicted_SO | 1.000 | 0.400 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.1429 | 0.1429 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 6.000 | 0.2222 | 0.2821 | 0.3056 | 0.2222 | 0.0278 | 0.0556 | 0.0833 | 0.1667 |
| season | 0.60 | 55 | - | 179.000 | 51.000 | 8.000 | 0.000 | 4.000 | 17.000 | 18.000 | 9.000 | 31.000 | 0.2849 | 0.3316 | 0.3966 | 0.2849 | 0.0223 | 0.0950 | 0.0503 | 0.1732 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5520 |
| predicted_AVG | 0.2445 |
| predicted_BB | 0.1780 |
| predicted_H | 0.8680 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.2869 |
| predicted_R | 0.3290 |
| predicted_RBI | 0.2710 |
| predicted_SLG | 0.3387 |
| predicted_SO | 0.6460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1050 | 0.1286 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5500 | 3.5520 | 3.5508 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2445 | 0.2472 | model_form_blend |
| predicted_BB | 0.1640 | 0.1780 | 0.1697 | model_form_blend |
| predicted_H | 0.8800 | 0.8680 | 0.8751 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.0900 | 0.0750 | 0.0838 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2869 | 0.2899 | model_form_blend |
| predicted_R | 0.3270 | 0.3290 | 0.3278 | model_form_blend |
| predicted_RBI | 0.3200 | 0.2710 | 0.2999 | model_form_blend |
| predicted_SLG | 0.3570 | 0.3387 | 0.3495 | model_form_blend |
| predicted_SO | 0.5640 | 0.6460 | 0.5977 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 103 |
| Season rows before report date | 103 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 664770 |
| playerID | 664770 |
| playerName | Nathan Lukes |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.322 |
| sl_xwoba | 0.298 |
| sl_xba | 0.271 |
| sl_xslg | 0.351 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 27.6 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 49.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.128 | 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 | 3.810 | 5.000 | 4.000 | Hitting_AB | 3.707 | 4.000 | 1.293 | 1.000 |
| predicted_AVG | 0.230 | 0.000 | 0.250 | Hitting_AVG | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_BB | 0.384 | 0.000 | 0.000 | Hitting_BB | 0.430 | 0.000 | -0.430 | 0.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.836 | 0.000 | -0.836 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_OBP | 0.295 | 0.000 | 0.250 | Hitting_OBP | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_R | 0.512 | 0.000 | 0.000 | Hitting_R | 0.512 | 0.000 | -0.512 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.598 | 0.000 | -0.598 | 0.000 |
| predicted_SLG | 0.396 | 0.000 | 0.250 | Hitting_SLG | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_SO | 1.302 | 2.000 | 1.000 | Hitting_SO | 1.312 | 1.000 | 0.688 | 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.8100 -> 5.0000 (boost 1.1900, 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 | 0 | 4 | 1 | 3 | - | predicted_AB: 3.8100 -> 3.7340 (deboost -0.0760, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2927 -> 0.2876 (deboost -0.0051, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5009 -> 1.0000 (boost 0.4991, better) | predicted_BB: 0.3416 -> 0.0000 (deboost -0.3416, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.218 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4681 -> 0.0000 (deboost -0.4681, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2224 -> 0.2500 (boost 0.0276, better) | predicted_SLG: 0.3861 -> 0.2500 (deboost -0.1361, 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: 4.0000 -> 5.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.3861 (boost 0.1361, better) | predicted_AVG: 0.2500 -> 0.2224 (deboost -0.0276, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"position": "3B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.0,
"predicted_AB": 3.81,
"predicted_AVG": 0.23,
"predicted_BB": 0.384,
"predicted_H": 0.88,
"predicted_HR": 0.17,
"predicted_OBP": 0.295,
"predicted_R": 0.512,
"predicted_RBI": 0.51,
"predicted_SLG": 0.396,
"predicted_SO": 1.302
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1092,
"predicted_3B": 0.0004,
"predicted_AB": 3.734,
"predicted_AVG": 0.2243,
"predicted_BB": 0.343,
"predicted_H": 0.8403,
"predicted_HBP": 0.092,
"predicted_HR": 0.1687,
"predicted_OBP": 0.2927,
"predicted_R": 0.477,
"predicted_RBI": 0.5104,
"predicted_SLG": 0.3886,
"predicted_SO": 1.2383
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1092,
"delta": -0.0188,
"percent_delta": -0.1469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 3.734,
"delta": -0.076,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2243,
"delta": -0.0057,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.384,
"after": 0.343,
"delta": -0.041,
"percent_delta": -0.1068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8403,
"delta": -0.0397,
"percent_delta": -0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1687,
"delta": -0.0013,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2927,
"delta": -0.0023,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.477,
"delta": -0.035,
"percent_delta": -0.0684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5104,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3886,
"delta": -0.0074,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.302,
"after": 1.2383,
"delta": -0.0637,
"percent_delta": -0.0489,
"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.81,
"after": 3.734,
"delta": -0.076,
"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": 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.1092,
"predicted_3B": 0.0004,
"predicted_AB": 3.734,
"predicted_AVG": 0.2224,
"predicted_BB": 0.3416,
"predicted_H": 0.8306,
"predicted_HBP": 0.092,
"predicted_HR": 0.167,
"predicted_OBP": 0.2876,
"predicted_R": 0.4681,
"predicted_RBI": 0.5009,
"predicted_SLG": 0.3861,
"predicted_SO": 1.2435
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1092,
"after": 0.1092,
"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.734,
"after": 3.734,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2243,
"after": 0.2224,
"delta": -0.0019,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.3416,
"delta": -0.0014,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8403,
"after": 0.8306,
"delta": -0.0097,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1687,
"after": 0.167,
"delta": -0.0017,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2927,
"after": 0.2876,
"delta": -0.0051,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.477,
"after": 0.4681,
"delta": -0.0089,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5104,
"after": 0.5009,
"delta": -0.0095,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3886,
"after": 0.3861,
"delta": -0.0025,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2383,
"after": 1.2435,
"delta": 0.0052,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2927,
"after": 0.2876,
"delta": -0.0051,
"percent_delta": -0.0174,
"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.218 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1092,
"after": 0.0,
"delta": -0.1092,
"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.734,
"after": 4.0,
"delta": 0.266,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3416,
"after": 0.0,
"delta": -0.3416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8306,
"after": 1.0,
"delta": 0.1694,
"percent_delta": 0.2039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5009,
"after": 1.0,
"delta": 0.4991,
"percent_delta": 0.9964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2435,
"after": 1.0,
"delta": -0.2435,
"percent_delta": -0.1958,
"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.5009,
"after": 1.0,
"delta": 0.4991,
"percent_delta": 0.9964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3416,
"after": 0.0,
"delta": -0.3416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4681,
"after": 0.0,
"delta": -0.4681,
"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.4681,
"after": 0.0,
"delta": -0.4681,
"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.2224,
"after": 0.25,
"delta": 0.0276,
"percent_delta": 0.1241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2876,
"after": 0.25,
"delta": -0.0376,
"percent_delta": -0.1307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.3861,
"after": 0.25,
"delta": -0.1361,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2224,
"after": 0.25,
"delta": 0.0276,
"percent_delta": 0.1241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3861,
"after": 0.25,
"delta": -0.1361,
"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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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.2224,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2876,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3861,
"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": 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.2224,
"delta": -0.0276,
"percent_delta": -0.1103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2876,
"delta": 0.0376,
"percent_delta": 0.1504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3861,
"delta": 0.1361,
"percent_delta": 0.5442,
"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.3861,
"delta": 0.1361,
"percent_delta": 0.5442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2224,
"delta": -0.0276,
"percent_delta": -0.1103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 5.0,
"delta": 1.19,
"percent_delta": 0.3123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2224,
"delta": -0.0076,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.384,
"after": 0.0,
"delta": -0.384,
"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.295,
"after": 0.2876,
"delta": -0.0074,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3861,
"delta": -0.0099,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.302,
"after": 2.0,
"delta": 0.698,
"percent_delta": 0.5361,
"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.81,
"after": 5.0,
"delta": 1.19,
"percent_delta": 0.3123,
"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.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.384 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.512 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 1.302 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.734 | -0.076 |
| predicted_AVG | 0.224 | -0.006 |
| predicted_BB | 0.343 | -0.041 |
| predicted_H | 0.840 | -0.040 |
| predicted_HBP | 0.092 | - |
| predicted_HR | 0.169 | -0.001 |
| predicted_OBP | 0.293 | -0.002 |
| predicted_R | 0.477 | -0.035 |
| predicted_RBI | 0.510 | 0.000 |
| predicted_SLG | 0.389 | -0.007 |
| predicted_SO | 1.238 | -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.109 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.734 | 0.000 |
| predicted_AVG | 0.222 | -0.002 |
| predicted_BB | 0.342 | -0.001 |
| predicted_H | 0.831 | -0.010 |
| predicted_HBP | 0.092 | 0.000 |
| predicted_HR | 0.167 | -0.002 |
| predicted_OBP | 0.288 | -0.005 |
| predicted_R | 0.468 | -0.009 |
| predicted_RBI | 0.501 | -0.009 |
| predicted_SLG | 0.386 | -0.003 |
| predicted_SO | 1.244 | 0.005 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.218 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 | 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.109 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.266 |
| predicted_AVG | 0.250 | 0.028 |
| predicted_BB | 0.000 | -0.342 |
| predicted_H | 1.000 | 0.169 |
| predicted_HR | 0.000 | -0.167 |
| predicted_OBP | 0.250 | -0.038 |
| predicted_R | 0.000 | -0.468 |
| predicted_RBI | 1.000 | 0.499 |
| predicted_SLG | 0.250 | -0.136 |
| predicted_SO | 1.000 | -0.244 |
Attached 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 | 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 4.000 | 0.1765 | 0.2632 | 0.1765 | 0.1765 | 0.0000 | 0.0588 | 0.0588 | 0.2353 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 1.000 | 12.000 | 0.1892 | 0.2308 | 0.3514 | 0.1892 | 0.0541 | 0.1351 | 0.0270 | 0.3243 |
| season | 0.60 | 86 | - | 315.000 | 74.000 | 11.000 | 0.000 | 19.000 | 54.000 | 44.000 | 33.000 | 112.000 | 0.2349 | 0.3155 | 0.4508 | 0.2349 | 0.0603 | 0.1714 | 0.1048 | 0.3556 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6320 |
| predicted_AVG | 0.2167 |
| predicted_BB | 0.2880 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0920 |
| predicted_HR | 0.1670 |
| predicted_OBP | 0.2895 |
| predicted_R | 0.4300 |
| predicted_RBI | 0.5110 |
| predicted_SLG | 0.3787 |
| predicted_SO | 1.1530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.0840 | 0.1092 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8100 | 3.6320 | 3.7340 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2167 | 0.2243 | model_form_blend |
| predicted_BB | 0.3840 | 0.2880 | 0.3430 | model_form_blend |
| predicted_H | 0.8800 | 0.7870 | 0.8403 | model_form_blend |
| predicted_HBP | - | 0.0920 | 0.0920 | form_only |
| predicted_HR | 0.1700 | 0.1670 | 0.1687 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2895 | 0.2927 | model_form_blend |
| predicted_R | 0.5120 | 0.4300 | 0.4770 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5110 | 0.5104 | model_form_blend |
| predicted_SLG | 0.3960 | 0.3787 | 0.3886 | model_form_blend |
| predicted_SO | 1.3020 | 1.1530 | 1.2383 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.235 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 672960 |
| playerID | 672960 |
| playerName | Kazuma Okamoto |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.334 |
| sl_xwoba | 0.329 |
| sl_xba | 0.223 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 14.6 |
| sl_hard_hit_percent | 48.8 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 34.0 |
| 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.167 | 0.000 | 0.000 | Hitting_2B | 0.151 | 1.000 | -0.151 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.010 | 4.000 | 4.000 | Hitting_AB | 3.651 | 3.000 | 0.349 | 1.000 |
| predicted_AVG | 0.243 | 0.250 | 0.250 | Hitting_AVG | 0.285 | 0.333 | -0.035 | -0.083 |
| predicted_BB | 0.429 | 1.000 | 0.000 | Hitting_BB | 0.554 | 1.000 | 0.446 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.970 | 1.000 | 1.000 | Hitting_H | 1.039 | 1.000 | -0.039 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_OBP | 0.318 | 0.400 | 0.250 | Hitting_OBP | 0.384 | 0.500 | 0.016 | -0.100 |
| predicted_R | 0.536 | 1.000 | 0.000 | Hitting_R | 0.605 | 0.000 | 0.395 | 1.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.426 | 0.000 | -0.426 | 0.000 |
| predicted_SLG | 0.363 | 0.250 | 0.250 | Hitting_SLG | 0.367 | 0.667 | -0.117 | -0.417 |
| predicted_SO | 0.512 | 0.000 | 1.000 | Hitting_SO | 0.453 | 1.000 | -0.453 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 7 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.4290 -> 1.0000 (boost 0.5710, better) |
| Biggest Deboost | predicted_SO: 0.5120 -> 0.0000 (deboost -0.5120, 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 | 0 | 4 | predicted_SO: 0.5120 -> 0.6197 (boost 0.1077, worse) | predicted_AB: 4.0100 -> 3.8605 (deboost -0.1495, worse) | Final model input calibrated with local 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.3489 -> 0.3347 (deboost -0.0142, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.6223 -> 1.0000 (boost 0.3777, worse) | predicted_BB: 0.4345 -> 0.0000 (deboost -0.4345, worse) | AB rounded to 4 (raw=4.01), rates preserved: AVG=0.229 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4715 -> 0.0000 (deboost -0.4715, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2383 -> 0.2500 (boost 0.0117, better) | predicted_SLG: 0.3347 -> 0.2500 (deboost -0.0847, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3347 (boost 0.0847, better) | predicted_AVG: 0.2500 -> 0.2383 (deboost -0.0117, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"position": "1B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 4.01,
"predicted_AVG": 0.243,
"predicted_BB": 0.429,
"predicted_H": 0.97,
"predicted_HR": 0.08,
"predicted_OBP": 0.318,
"predicted_R": 0.536,
"predicted_RBI": 0.41,
"predicted_SLG": 0.363,
"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.1896,
"predicted_3B": 0.0004,
"predicted_AB": 3.8605,
"predicted_AVG": 0.2416,
"predicted_BB": 0.4363,
"predicted_H": 0.9307,
"predicted_HBP": 0.022,
"predicted_HR": 0.0612,
"predicted_OBP": 0.3201,
"predicted_R": 0.4805,
"predicted_RBI": 0.3878,
"predicted_SLG": 0.3489,
"predicted_SO": 0.6197
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1896,
"delta": 0.0226,
"percent_delta": 0.1353,
"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.01,
"after": 3.8605,
"delta": -0.1495,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2416,
"delta": -0.0014,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.4363,
"delta": 0.0073,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9307,
"delta": -0.0393,
"percent_delta": -0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0612,
"delta": -0.0188,
"percent_delta": -0.235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3201,
"delta": 0.0021,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 0.4805,
"delta": -0.0555,
"percent_delta": -0.1035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3878,
"delta": -0.0222,
"percent_delta": -0.0541,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3489,
"delta": -0.0141,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 0.6197,
"delta": 0.1077,
"percent_delta": 0.2104,
"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.512,
"after": 0.6197,
"delta": 0.1077,
"percent_delta": 0.2104,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 3.8605,
"delta": -0.1495,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1896,
"predicted_3B": 0.0004,
"predicted_AB": 3.8605,
"predicted_AVG": 0.2383,
"predicted_BB": 0.4345,
"predicted_H": 0.9199,
"predicted_HBP": 0.022,
"predicted_HR": 0.0606,
"predicted_OBP": 0.3153,
"predicted_R": 0.4715,
"predicted_RBI": 0.3805,
"predicted_SLG": 0.3347,
"predicted_SO": 0.6223
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1896,
"after": 0.1896,
"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.8605,
"after": 3.8605,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.2383,
"delta": -0.0033,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4363,
"after": 0.4345,
"delta": -0.0018,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9307,
"after": 0.9199,
"delta": -0.0108,
"percent_delta": -0.0116,
"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.0612,
"after": 0.0606,
"delta": -0.0006,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3201,
"after": 0.3153,
"delta": -0.0048,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4805,
"after": 0.4715,
"delta": -0.009,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3878,
"after": 0.3805,
"delta": -0.0073,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3489,
"after": 0.3347,
"delta": -0.0142,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6197,
"after": 0.6223,
"delta": 0.0026,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3489,
"after": 0.3347,
"delta": -0.0142,
"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 4 (raw=4.01), rates preserved: AVG=0.229 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.1896,
"after": 0.0,
"delta": -0.1896,
"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.8605,
"after": 4.0,
"delta": 0.1395,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4345,
"after": 0.0,
"delta": -0.4345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9199,
"after": 1.0,
"delta": 0.0801,
"percent_delta": 0.0871,
"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.0606,
"after": 0.0,
"delta": -0.0606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3805,
"after": 0.0,
"delta": -0.3805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6223,
"after": 1.0,
"delta": 0.3777,
"percent_delta": 0.6069,
"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.6223,
"after": 1.0,
"delta": 0.3777,
"percent_delta": 0.6069,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4345,
"after": 0.0,
"delta": -0.4345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4715,
"after": 0.0,
"delta": -0.4715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4715,
"after": 0.0,
"delta": -0.4715,
"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.2383,
"after": 0.25,
"delta": 0.0117,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3347,
"after": 0.25,
"delta": -0.0847,
"percent_delta": -0.2531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2383,
"after": 0.25,
"delta": 0.0117,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3347,
"after": 0.25,
"delta": -0.0847,
"percent_delta": -0.2531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2383,
"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.3153,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3347,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2383,
"delta": -0.0117,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3347,
"delta": 0.0847,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3347,
"delta": 0.0847,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2383,
"delta": -0.0117,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 4.0,
"delta": -0.01,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2383,
"delta": -0.0047,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3153,
"delta": -0.0027,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 1.0,
"delta": 0.464,
"percent_delta": 0.8657,
"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.363,
"after": 0.3347,
"delta": -0.0283,
"percent_delta": -0.078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"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_BB",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"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 | 4.010 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.429 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.536 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.363 | - |
| 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.190 | 0.023 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.861 | -0.149 |
| predicted_AVG | 0.242 | -0.001 |
| predicted_BB | 0.436 | 0.007 |
| predicted_H | 0.931 | -0.039 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.061 | -0.019 |
| predicted_OBP | 0.320 | 0.002 |
| predicted_R | 0.480 | -0.056 |
| predicted_RBI | 0.388 | -0.022 |
| predicted_SLG | 0.349 | -0.014 |
| predicted_SO | 0.620 | 0.108 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 3.861 | 0.000 |
| predicted_AVG | 0.238 | -0.003 |
| predicted_BB | 0.434 | -0.002 |
| predicted_H | 0.920 | -0.011 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.061 | -0.001 |
| predicted_OBP | 0.315 | -0.005 |
| predicted_R | 0.471 | -0.009 |
| predicted_RBI | 0.381 | -0.007 |
| predicted_SLG | 0.335 | -0.014 |
| predicted_SO | 0.622 | 0.003 |
AB rounded to 4 (raw=4.01), rates preserved: AVG=0.229 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.190 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.139 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 0.000 | -0.434 |
| predicted_H | 1.000 | 0.080 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 0.000 | -0.471 |
| predicted_RBI | 0.000 | -0.381 |
| predicted_SLG | 0.250 | -0.085 |
| predicted_SO | 1.000 | 0.378 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 6.000 | 0.2353 | 0.3500 | 0.3529 | 0.2353 | 0.0000 | 0.0588 | 0.1765 | 0.3529 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 2.000 | 0.000 | 0.000 | 3.000 | 2.000 | 4.000 | 10.000 | 0.1622 | 0.2439 | 0.2162 | 0.1622 | 0.0000 | 0.0811 | 0.1081 | 0.2703 |
| season | 0.60 | 84 | - | 312.000 | 83.000 | 14.000 | 0.000 | 4.000 | 35.000 | 45.000 | 36.000 | 43.000 | 0.2660 | 0.3427 | 0.3494 | 0.2660 | 0.0128 | 0.1122 | 0.1154 | 0.1378 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6600 |
| predicted_AVG | 0.2398 |
| predicted_BB | 0.4460 |
| predicted_H | 0.8780 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.3230 |
| predicted_R | 0.4060 |
| predicted_RBI | 0.3580 |
| predicted_SLG | 0.3301 |
| predicted_SO | 0.7640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.2200 | 0.1896 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0100 | 3.6600 | 3.8605 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2398 | 0.2416 | model_form_blend |
| predicted_BB | 0.4290 | 0.4460 | 0.4363 | model_form_blend |
| predicted_H | 0.9700 | 0.8780 | 0.9307 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0800 | 0.0360 | 0.0612 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3230 | 0.3201 | model_form_blend |
| predicted_R | 0.5360 | 0.4060 | 0.4805 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3580 | 0.3878 | model_form_blend |
| predicted_SLG | 0.3630 | 0.3301 | 0.3489 | model_form_blend |
| predicted_SO | 0.5120 | 0.7640 | 0.6197 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 665489 |
| playerID | 665489 |
| playerName | Vladimir Guerrero Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 12.0 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.31 |
| sl_xwoba | 0.345 |
| sl_xba | 0.291 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 44.2 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 7.8 |
| sl_whiff_percent | 19.9 |
| 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.253 | 0.000 | 0.000 | Hitting_2B | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.470 | 4.000 | 4.000 | Hitting_AB | 3.972 | 3.000 | 0.028 | 1.000 |
| predicted_AVG | 0.246 | 0.500 | 0.250 | Hitting_AVG | 0.301 | 0.333 | 0.199 | 0.167 |
| predicted_BB | 0.138 | 0.000 | 0.000 | Hitting_BB | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 1.100 | 2.000 | 1.000 | Hitting_H | 1.194 | 1.000 | 0.806 | 1.000 |
| predicted_HR | 0.080 | 1.000 | 0.000 | Hitting_HR | 0.095 | 0.000 | 0.905 | 1.000 |
| predicted_OBP | 0.303 | 0.600 | 0.250 | Hitting_OBP | 0.323 | 0.333 | 0.277 | 0.267 |
| predicted_R | 0.437 | 1.000 | 0.000 | Hitting_R | 0.433 | 0.000 | 0.567 | 1.000 |
| predicted_RBI | 0.360 | 1.000 | 0.000 | Hitting_RBI | 0.385 | 0.000 | 0.615 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_SLG | 0.380 | 1.250 | 0.250 | Hitting_SLG | 0.454 | 0.333 | 0.796 | 0.917 |
| predicted_SO | 0.391 | 0.000 | 0.000 | Hitting_SO | 0.353 | 0.000 | -0.353 | 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_HR: 0.0800 -> 1.0000 (boost 0.9200, better) |
| Biggest Deboost | predicted_AB: 4.4700 -> 4.0000 (deboost -0.4700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2460 -> 0.2564 (boost 0.0104, better) | predicted_AB: 4.4700 -> 4.1381 (deboost -0.3319, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3029 -> 0.2788 (deboost -0.0241, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_SO: 0.3764 -> 0.0000 (deboost -0.3764, better) | AB rounded to 4 (raw=4.47), rates preserved: AVG=0.234 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4008 -> 0.0000 (deboost -0.4008, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3647 -> 0.2500 (deboost -0.1147, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3647 (boost 0.1147, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "2B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.253,
"predicted_3B": 0.011,
"predicted_AB": 4.47,
"predicted_AVG": 0.246,
"predicted_BB": 0.138,
"predicted_H": 1.1,
"predicted_HR": 0.08,
"predicted_OBP": 0.303,
"predicted_R": 0.437,
"predicted_RBI": 0.36,
"predicted_SLG": 0.38,
"predicted_SO": 0.391
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2419,
"predicted_3B": 0.0093,
"predicted_AB": 4.1381,
"predicted_AVG": 0.2564,
"predicted_BB": 0.1525,
"predicted_H": 1.0565,
"predicted_HBP": 0.003,
"predicted_HR": 0.0689,
"predicted_OBP": 0.3029,
"predicted_R": 0.4084,
"predicted_RBI": 0.3237,
"predicted_SLG": 0.3797,
"predicted_SO": 0.3748
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.2419,
"delta": -0.0111,
"percent_delta": -0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.47,
"after": 4.1381,
"delta": -0.3319,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2564,
"delta": 0.0104,
"percent_delta": 0.0423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.138,
"after": 0.1525,
"delta": 0.0145,
"percent_delta": 0.1051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0565,
"delta": -0.0435,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0689,
"delta": -0.0111,
"percent_delta": -0.1387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3029,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 0.4084,
"delta": -0.0286,
"percent_delta": -0.0654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3237,
"delta": -0.0363,
"percent_delta": -0.1008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3797,
"delta": -0.0003,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.391,
"after": 0.3748,
"delta": -0.0162,
"percent_delta": -0.0414,
"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.246,
"after": 0.2564,
"delta": 0.0104,
"percent_delta": 0.0423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.47,
"after": 4.1381,
"delta": -0.3319,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2419,
"predicted_3B": 0.0093,
"predicted_AB": 4.1381,
"predicted_AVG": 0.2523,
"predicted_BB": 0.1519,
"predicted_H": 1.0442,
"predicted_HBP": 0.003,
"predicted_HR": 0.0682,
"predicted_OBP": 0.2788,
"predicted_R": 0.4008,
"predicted_RBI": 0.3176,
"predicted_SLG": 0.3647,
"predicted_SO": 0.3764
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2419,
"after": 0.2419,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1381,
"after": 4.1381,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2564,
"after": 0.2523,
"delta": -0.0041,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1525,
"after": 0.1519,
"delta": -0.0006,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0565,
"after": 1.0442,
"delta": -0.0123,
"percent_delta": -0.0116,
"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.0689,
"after": 0.0682,
"delta": -0.0007,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3029,
"after": 0.2788,
"delta": -0.0241,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4084,
"after": 0.4008,
"delta": -0.0076,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3237,
"after": 0.3176,
"delta": -0.0061,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3797,
"after": 0.3647,
"delta": -0.015,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3748,
"after": 0.3764,
"delta": 0.0016,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3029,
"after": 0.2788,
"delta": -0.0241,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.47), rates preserved: AVG=0.234 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2419,
"after": 0.0,
"delta": -0.2419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1381,
"after": 4.0,
"delta": -0.1381,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1519,
"after": 0.0,
"delta": -0.1519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0442,
"after": 1.0,
"delta": -0.0442,
"percent_delta": -0.0423,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0682,
"after": 0.0,
"delta": -0.0682,
"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.3764,
"after": 0.0,
"delta": -0.3764,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3764,
"after": 0.0,
"delta": -0.3764,
"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.4008,
"after": 0.0,
"delta": -0.4008,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4008,
"after": 0.0,
"delta": -0.4008,
"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.2523,
"after": 0.25,
"delta": -0.0023,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2788,
"after": 0.25,
"delta": -0.0288,
"percent_delta": -0.1033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3647,
"after": 0.25,
"delta": -0.1147,
"percent_delta": -0.3145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3647,
"after": 0.25,
"delta": -0.1147,
"percent_delta": -0.3145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.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": 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": 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": 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": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"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.2523,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2788,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3647,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2523,
"delta": 0.0023,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.2788,
"delta": 0.0288,
"percent_delta": 0.1153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3647,
"delta": 0.1147,
"percent_delta": 0.459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.3647,
"delta": 0.1147,
"percent_delta": 0.459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.47,
"after": 4.0,
"delta": -0.47,
"percent_delta": -0.1051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2523,
"delta": 0.0063,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 2.0,
"delta": 0.9,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2788,
"delta": -0.0242,
"percent_delta": -0.0799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 1.0,
"delta": 0.563,
"percent_delta": 1.2883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3647,
"delta": -0.0153,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"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_HR",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.47,
"after": 4.0,
"delta": -0.47,
"percent_delta": -0.1051,
"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.011 | - |
| predicted_AB | 4.470 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.138 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.437 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.380 | - |
| predicted_SO | 0.391 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 4.138 | -0.332 |
| predicted_AVG | 0.256 | 0.010 |
| predicted_BB | 0.152 | 0.014 |
| predicted_H | 1.056 | -0.044 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.069 | -0.011 |
| predicted_OBP | 0.303 | -0.000 |
| predicted_R | 0.408 | -0.029 |
| predicted_RBI | 0.324 | -0.036 |
| predicted_SLG | 0.380 | -0.000 |
| predicted_SO | 0.375 | -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.242 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.138 | 0.000 |
| predicted_AVG | 0.252 | -0.004 |
| predicted_BB | 0.152 | -0.001 |
| predicted_H | 1.044 | -0.012 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.068 | -0.001 |
| predicted_OBP | 0.279 | -0.024 |
| predicted_R | 0.401 | -0.008 |
| predicted_RBI | 0.318 | -0.006 |
| predicted_SLG | 0.365 | -0.015 |
| predicted_SO | 0.376 | 0.002 |
AB rounded to 4 (raw=4.47), rates preserved: AVG=0.234 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.242 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | -0.138 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.000 | -0.152 |
| predicted_H | 1.000 | -0.044 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.250 | -0.029 |
| predicted_R | 0.000 | -0.401 |
| predicted_RBI | 0.000 | -0.318 |
| predicted_SLG | 0.250 | -0.115 |
| predicted_SO | 0.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 | 2.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 1.000 | 1.000 | 0.1765 | 0.2222 | 0.2353 | 0.1765 | 0.0000 | 0.0588 | 0.0588 | 0.0588 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 0.3056 | 0.3421 | 0.3611 | 0.3056 | 0.0000 | 0.0278 | 0.0556 | 0.0556 |
| season | 0.60 | 87 | - | 331.000 | 97.000 | 22.000 | 1.000 | 7.000 | 29.000 | 38.000 | 12.000 | 34.000 | 0.2931 | 0.3159 | 0.4290 | 0.2930 | 0.0211 | 0.0876 | 0.0362 | 0.1027 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2270 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.6920 |
| predicted_AVG | 0.2703 |
| predicted_BB | 0.1720 |
| predicted_H | 0.9980 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0540 |
| predicted_OBP | 0.3027 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.2750 |
| predicted_SLG | 0.3793 |
| predicted_SO | 0.3530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2530 | 0.2270 | 0.2419 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 4.4700 | 3.6920 | 4.1381 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2703 | 0.2564 | model_form_blend |
| predicted_BB | 0.1380 | 0.1720 | 0.1525 | model_form_blend |
| predicted_H | 1.1000 | 0.9980 | 1.0565 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0800 | 0.0540 | 0.0689 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3027 | 0.3029 | model_form_blend |
| predicted_R | 0.4370 | 0.3700 | 0.4084 | model_form_blend |
| predicted_RBI | 0.3600 | 0.2750 | 0.3237 | model_form_blend |
| predicted_SLG | 0.3800 | 0.3793 | 0.3797 | model_form_blend |
| predicted_SO | 0.3910 | 0.3530 | 0.3748 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 676391 |
| playerID | 676391 |
| playerName | Ernie Clement |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 9.9 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.324 |
| sl_xwoba | 0.275 |
| sl_xba | 0.257 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 23.7 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 16.1 |
| sl_swing_percent | 57.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_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 | 3.600 | 3.000 | 4.000 | Hitting_AB | 3.500 | 2.000 | -0.500 | 1.000 |
| predicted_AVG | 0.233 | 0.000 | 0.250 | Hitting_AVG | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_BB | 0.000 | 1.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.269 | 0.250 | 0.250 | Hitting_OBP | 0.190 | 0.000 | 0.060 | 0.250 |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.400 | 0.000 | 0.250 | Hitting_SLG | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_SO | 1.167 | 0.000 | 1.000 | Hitting_SO | 1.167 | 2.000 | -1.167 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 1.1670 -> 0.0000 (deboost -1.1670, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2647 -> 0.2357 (deboost -0.0290, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 4 | 2 | predicted_RBI: 0.4920 -> 1.0000 (boost 0.5080, better) | predicted_2B: 0.1728 -> 0.0000 (deboost -0.1728, worse) | AB rounded to 4 (raw=3.61), rates preserved: AVG=0.227 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4816 -> 0.0000 (deboost -0.4816, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2268 -> 0.2500 (boost 0.0232, better) | predicted_SLG: 0.3959 -> 0.2500 (deboost -0.1459, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3959 (boost 0.1459, better) | predicted_AVG: 0.2500 -> 0.2268 (deboost -0.0232, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "815873",
"player_name": "Sean Keys",
"position": "DH",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 3.6,
"predicted_AVG": 0.233,
"predicted_BB": 0.0,
"predicted_H": 0.84,
"predicted_HR": 0.14,
"predicted_OBP": 0.269,
"predicted_R": 0.5,
"predicted_RBI": 0.49,
"predicted_SLG": 0.4,
"predicted_SO": 1.167
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1728,
"predicted_3B": 0.0025,
"predicted_AB": 3.612,
"predicted_AVG": 0.2292,
"predicted_BB": 0.042,
"predicted_H": 0.8289,
"predicted_HBP": 0.018,
"predicted_HR": 0.1458,
"predicted_OBP": 0.2647,
"predicted_R": 0.4908,
"predicted_RBI": 0.5014,
"predicted_SLG": 0.4023,
"predicted_SO": 1.1214
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1728,
"delta": 0.0058,
"percent_delta": 0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0025,
"delta": 0.0025,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6,
"after": 3.612,
"delta": 0.012,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2292,
"delta": -0.0038,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.042,
"delta": 0.042,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8289,
"delta": -0.0111,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1458,
"delta": 0.0058,
"percent_delta": 0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2647,
"delta": -0.0043,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4908,
"delta": -0.0092,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.5014,
"delta": 0.0114,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4023,
"delta": 0.0023,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.167,
"after": 1.1214,
"delta": -0.0456,
"percent_delta": -0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 6,
"season": 6
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1728,
"predicted_3B": 0.0025,
"predicted_AB": 3.612,
"predicted_AVG": 0.2268,
"predicted_BB": 0.0418,
"predicted_H": 0.8193,
"predicted_HBP": 0.018,
"predicted_HR": 0.1443,
"predicted_OBP": 0.2357,
"predicted_R": 0.4816,
"predicted_RBI": 0.492,
"predicted_SLG": 0.3959,
"predicted_SO": 1.1261
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1728,
"after": 0.1728,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.612,
"after": 3.612,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2292,
"after": 0.2268,
"delta": -0.0024,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.042,
"after": 0.0418,
"delta": -0.0002,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8289,
"after": 0.8193,
"delta": -0.0096,
"percent_delta": -0.0116,
"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.1458,
"after": 0.1443,
"delta": -0.0015,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2647,
"after": 0.2357,
"delta": -0.029,
"percent_delta": -0.1096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4908,
"after": 0.4816,
"delta": -0.0092,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5014,
"after": 0.492,
"delta": -0.0094,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4023,
"after": 0.3959,
"delta": -0.0064,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1214,
"after": 1.1261,
"delta": 0.0047,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2647,
"after": 0.2357,
"delta": -0.029,
"percent_delta": -0.1096,
"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.227 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.1728,
"after": 0.0,
"delta": -0.1728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0,
"delta": -0.0025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.612,
"after": 4.0,
"delta": 0.388,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0418,
"after": 0.0,
"delta": -0.0418,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8193,
"after": 1.0,
"delta": 0.1807,
"percent_delta": 0.2206,
"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.1443,
"after": 0.0,
"delta": -0.1443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1261,
"after": 1.0,
"delta": -0.1261,
"percent_delta": -0.112,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1728,
"after": 0.0,
"delta": -0.1728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4816,
"after": 0.0,
"delta": -0.4816,
"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.4816,
"after": 0.0,
"delta": -0.4816,
"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.2268,
"after": 0.25,
"delta": 0.0232,
"percent_delta": 0.1023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2357,
"after": 0.25,
"delta": 0.0143,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.3959,
"after": 0.25,
"delta": -0.1459,
"percent_delta": -0.3685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2268,
"after": 0.25,
"delta": 0.0232,
"percent_delta": 0.1023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3959,
"after": 0.25,
"delta": -0.1459,
"percent_delta": -0.3685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2268,
"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.2357,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3959,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2268,
"delta": -0.0232,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2357,
"delta": -0.0143,
"percent_delta": -0.0573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3959,
"delta": 0.1459,
"percent_delta": 0.5837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3959,
"delta": 0.1459,
"percent_delta": 0.5837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2268,
"delta": -0.0232,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.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.6,
"after": 3.0,
"delta": -0.6,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2268,
"delta": -0.0062,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2357,
"delta": -0.0333,
"percent_delta": -0.1238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3959,
"delta": -0.0041,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.167,
"after": 0.0,
"delta": -1.167,
"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.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.167,
"after": 0.0,
"delta": -1.167,
"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.600 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 1.167 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.006 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 3.612 | 0.012 |
| predicted_AVG | 0.229 | -0.004 |
| predicted_BB | 0.042 | 0.042 |
| predicted_H | 0.829 | -0.011 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.146 | 0.006 |
| predicted_OBP | 0.265 | -0.004 |
| predicted_R | 0.491 | -0.009 |
| predicted_RBI | 0.501 | 0.011 |
| predicted_SLG | 0.402 | 0.002 |
| predicted_SO | 1.121 | -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.173 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 3.612 | 0.000 |
| predicted_AVG | 0.227 | -0.002 |
| predicted_BB | 0.042 | -0.000 |
| predicted_H | 0.819 | -0.010 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.144 | -0.002 |
| predicted_OBP | 0.236 | -0.029 |
| predicted_R | 0.482 | -0.009 |
| predicted_RBI | 0.492 | -0.009 |
| predicted_SLG | 0.396 | -0.006 |
| predicted_SO | 1.126 | 0.005 |
AB rounded to 4 (raw=3.61), rates preserved: AVG=0.227 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 | 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.173 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 4.000 | 0.388 |
| predicted_AVG | 0.250 | 0.023 |
| predicted_BB | 0.000 | -0.042 |
| predicted_H | 1.000 | 0.181 |
| predicted_HR | 0.000 | -0.144 |
| predicted_OBP | 0.250 | 0.014 |
| predicted_R | 0.000 | -0.482 |
| predicted_RBI | 1.000 | 0.508 |
| predicted_SLG | 0.250 | -0.146 |
| predicted_SO | 1.000 | -0.126 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 6.000 | 0.1765 | 0.1765 | 0.4118 | 0.1765 | 0.0588 | 0.1765 | 0.0000 | 0.3529 |
| last_10 | 0.20 | 6 | - | 21.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 0.000 | 7.000 | 0.1905 | 0.1905 | 0.3810 | 0.1905 | 0.0476 | 0.1429 | 0.0000 | 0.3333 |
| season | 0.60 | 6 | - | 21.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 0.000 | 7.000 | 0.1905 | 0.1905 | 0.3810 | 0.1905 | 0.0476 | 0.1429 | 0.0000 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1880 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6430 |
| predicted_AVG | 0.2195 |
| predicted_BB | 0.1510 |
| predicted_H | 0.8000 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.2537 |
| predicted_R | 0.4670 |
| predicted_RBI | 0.5310 |
| predicted_SLG | 0.4083 |
| predicted_SO | 1.0030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1880 | 0.1728 | model_form_blend |
| predicted_3B | 0.0000 | 0.0090 | 0.0025 | model_form_blend |
| predicted_AB | 3.6000 | 3.6430 | 3.6120 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2195 | 0.2292 | model_form_blend |
| predicted_BB | 0.0000 | 0.1510 | 0.0420 | model_form_blend |
| predicted_H | 0.8400 | 0.8000 | 0.8289 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1400 | 0.1610 | 0.1458 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2537 | 0.2647 | model_form_blend |
| predicted_R | 0.5000 | 0.4670 | 0.4908 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5310 | 0.5014 | model_form_blend |
| predicted_SLG | 0.4000 | 0.4083 | 0.4023 | model_form_blend |
| predicted_SO | 1.1670 | 1.0030 | 1.1214 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 815873 |
| playerID | 815873 |
| playerName | Sean Keys |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.242 |
| sl_xwoba | 0.201 |
| sl_xba | 0.189 |
| sl_xslg | 0.278 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 64.3 |
| sl_exit_velocity_avg | 94.2 |
| sl_launch_angle_avg | 22.4 |
| sl_whiff_percent | 38.3 |
| sl_swing_percent | 49.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.095 | 0.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.550 | 4.000 | 4.000 | Hitting_AB | 3.789 | 4.000 | 0.211 | 0.000 |
| predicted_AVG | 0.226 | 0.250 | 0.250 | Hitting_AVG | 0.174 | 0.000 | 0.076 | 0.250 |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.800 | 1.000 | 1.000 | Hitting_H | 0.658 | 0.000 | 0.342 | 1.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.184 | 0.000 | 0.816 | 1.000 |
| predicted_OBP | 0.273 | 0.250 | 0.250 | Hitting_OBP | 0.245 | 0.000 | 0.005 | 0.250 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.447 | 0.000 | 0.553 | 1.000 |
| predicted_RBI | 0.340 | 3.000 | 0.000 | Hitting_RBI | 0.395 | 0.000 | 2.605 | 3.000 |
| predicted_SLG | 0.332 | 1.000 | 0.250 | Hitting_SLG | 0.354 | 0.000 | 0.646 | 1.000 |
| predicted_SO | 0.571 | 3.000 | 1.000 | Hitting_SO | 0.526 | 1.000 | 2.474 | 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.3400 -> 3.0000 (boost 2.6600, better) |
| Biggest Deboost | predicted_BB: 0.2860 -> 0.0000 (deboost -0.2860, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3320 -> 0.3215 (deboost -0.0105, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 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.5656 -> 4.0000 (boost 0.4344, better) | predicted_RBI: 0.3205 -> 0.0000 (deboost -0.3205, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.213 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3500 -> 0.0000 (deboost -0.3500, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2133 -> 0.2500 (boost 0.0367, better) | predicted_SLG: 0.3210 -> 0.2500 (deboost -0.0710, 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_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3210 (boost 0.0710, better) | predicted_AVG: 0.2500 -> 0.2133 (deboost -0.0367, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672386",
"player_name": "Alejandro Kirk",
"position": "C",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.095,
"predicted_3B": 0.0,
"predicted_AB": 3.55,
"predicted_AVG": 0.226,
"predicted_BB": 0.286,
"predicted_H": 0.8,
"predicted_HR": 0.1,
"predicted_OBP": 0.273,
"predicted_R": 0.333,
"predicted_RBI": 0.34,
"predicted_SLG": 0.332,
"predicted_SO": 0.571
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0928,
"predicted_3B": 0.0015,
"predicted_AB": 3.5656,
"predicted_AVG": 0.2164,
"predicted_BB": 0.2856,
"predicted_H": 0.7696,
"predicted_HBP": 0.008,
"predicted_HR": 0.097,
"predicted_OBP": 0.2678,
"predicted_R": 0.3567,
"predicted_RBI": 0.3266,
"predicted_SLG": 0.3215,
"predicted_SO": 0.568
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0928,
"delta": -0.0022,
"percent_delta": -0.0232,
"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.55,
"after": 3.5656,
"delta": 0.0156,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2164,
"delta": -0.0096,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2856,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.7696,
"delta": -0.0304,
"percent_delta": -0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.097,
"delta": -0.003,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2678,
"delta": -0.0052,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3567,
"delta": 0.0237,
"percent_delta": 0.0712,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3266,
"delta": -0.0134,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3215,
"delta": -0.0105,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.571,
"after": 0.568,
"delta": -0.003,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3215,
"delta": -0.0105,
"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": 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.0928,
"predicted_3B": 0.0015,
"predicted_AB": 3.5656,
"predicted_AVG": 0.2133,
"predicted_BB": 0.2844,
"predicted_H": 0.7607,
"predicted_HBP": 0.008,
"predicted_HR": 0.096,
"predicted_OBP": 0.2714,
"predicted_R": 0.35,
"predicted_RBI": 0.3205,
"predicted_SLG": 0.321,
"predicted_SO": 0.5704
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0928,
"after": 0.0928,
"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.5656,
"after": 3.5656,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2164,
"after": 0.2133,
"delta": -0.0031,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2856,
"after": 0.2844,
"delta": -0.0012,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7696,
"after": 0.7607,
"delta": -0.0089,
"percent_delta": -0.0116,
"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.097,
"after": 0.096,
"delta": -0.001,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2678,
"after": 0.2714,
"delta": 0.0036,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3567,
"after": 0.35,
"delta": -0.0067,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3266,
"after": 0.3205,
"delta": -0.0061,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3215,
"after": 0.321,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.568,
"after": 0.5704,
"delta": 0.0024,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.213 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.0928,
"after": 0.0,
"delta": -0.0928,
"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.5656,
"after": 4.0,
"delta": 0.4344,
"percent_delta": 0.1218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2844,
"after": 0.0,
"delta": -0.2844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7607,
"after": 1.0,
"delta": 0.2393,
"percent_delta": 0.3146,
"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.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3205,
"after": 0.0,
"delta": -0.3205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5704,
"after": 1.0,
"delta": 0.4296,
"percent_delta": 0.7532,
"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.5656,
"after": 4.0,
"delta": 0.4344,
"percent_delta": 0.1218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3205,
"after": 0.0,
"delta": -0.3205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.35,
"after": 0.0,
"delta": -0.35,
"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.2133,
"after": 0.25,
"delta": 0.0367,
"percent_delta": 0.1721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2714,
"after": 0.25,
"delta": -0.0214,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.25,
"delta": -0.071,
"percent_delta": -0.2212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2133,
"after": 0.25,
"delta": 0.0367,
"percent_delta": 0.1721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.25,
"delta": -0.071,
"percent_delta": -0.2212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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": 3.0,
"delta": 2.0,
"percent_delta": 2.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_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.2133,
"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.2714,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.321,
"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.2133,
"delta": -0.0367,
"percent_delta": -0.1467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2714,
"delta": 0.0214,
"percent_delta": 0.0858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.321,
"delta": 0.071,
"percent_delta": 0.284,
"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.321,
"delta": 0.071,
"percent_delta": 0.284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2133,
"delta": -0.0367,
"percent_delta": -0.1467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.55,
"after": 4.0,
"delta": 0.45,
"percent_delta": 0.1268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2133,
"delta": -0.0127,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.0,
"delta": 0.2,
"percent_delta": 0.25,
"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.273,
"after": 0.2714,
"delta": -0.0016,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.34,
"after": 3.0,
"delta": 2.66,
"percent_delta": 7.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.321,
"delta": -0.011,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.571,
"after": 3.0,
"delta": 2.429,
"percent_delta": 4.2539,
"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.34,
"after": 3.0,
"delta": 2.66,
"percent_delta": 7.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"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.095 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.550 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.571 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | -0.002 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.566 | 0.016 |
| predicted_AVG | 0.216 | -0.010 |
| predicted_BB | 0.286 | -0.000 |
| predicted_H | 0.770 | -0.030 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.097 | -0.003 |
| predicted_OBP | 0.268 | -0.005 |
| predicted_R | 0.357 | 0.024 |
| predicted_RBI | 0.327 | -0.013 |
| predicted_SLG | 0.322 | -0.011 |
| predicted_SO | 0.568 | -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.093 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.566 | 0.000 |
| predicted_AVG | 0.213 | -0.003 |
| predicted_BB | 0.284 | -0.001 |
| predicted_H | 0.761 | -0.009 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.096 | -0.001 |
| predicted_OBP | 0.271 | 0.004 |
| predicted_R | 0.350 | -0.007 |
| predicted_RBI | 0.321 | -0.006 |
| predicted_SLG | 0.321 | -0.001 |
| predicted_SO | 0.570 | 0.002 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.213 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 | 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.093 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.434 |
| predicted_AVG | 0.250 | 0.037 |
| predicted_BB | 0.000 | -0.284 |
| predicted_H | 1.000 | 0.239 |
| predicted_HR | 0.000 | -0.096 |
| predicted_OBP | 0.250 | -0.021 |
| predicted_R | 0.000 | -0.350 |
| predicted_RBI | 0.000 | -0.321 |
| predicted_SLG | 0.250 | -0.071 |
| predicted_SO | 1.000 | 0.430 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 3.000 | 3.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 | - | 18.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 0.1667 | 0.2500 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 4.000 | 0.1765 | 0.2162 | 0.2647 | 0.1765 | 0.0294 | 0.0588 | 0.0588 | 0.1177 |
| season | 0.60 | 21 | - | 74.000 | 14.000 | 2.000 | 0.000 | 2.000 | 7.000 | 7.000 | 6.000 | 12.000 | 0.1892 | 0.2469 | 0.2973 | 0.1892 | 0.0270 | 0.0946 | 0.0811 | 0.1622 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.5920 |
| predicted_AVG | 0.2000 |
| predicted_BB | 0.2850 |
| predicted_H | 0.7180 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.2589 |
| predicted_R | 0.3970 |
| predicted_RBI | 0.3040 |
| predicted_SLG | 0.3038 |
| predicted_SO | 0.5630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.0890 | 0.0928 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.5500 | 3.5920 | 3.5656 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2000 | 0.2164 | model_form_blend |
| predicted_BB | 0.2860 | 0.2850 | 0.2856 | model_form_blend |
| predicted_H | 0.8000 | 0.7180 | 0.7696 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1000 | 0.0920 | 0.0970 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2589 | 0.2678 | model_form_blend |
| predicted_R | 0.3330 | 0.3970 | 0.3567 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3040 | 0.3266 | model_form_blend |
| predicted_SLG | 0.3320 | 0.3038 | 0.3215 | model_form_blend |
| predicted_SO | 0.5710 | 0.5630 | 0.5680 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 21 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 3 |
| 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 672386 |
| playerID | 672386 |
| playerName | Alejandro Kirk |
| pos | C |
| started | True |
| startingPosition | C |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 14.8 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.243 |
| sl_xwoba | 0.257 |
| sl_xba | 0.216 |
| sl_xslg | 0.304 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 34.9 |
| sl_exit_velocity_avg | 84.6 |
| sl_launch_angle_avg | 6.5 |
| sl_whiff_percent | 21.5 |
| 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.225 | 2.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | 1.801 | 2.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.620 | 4.000 | 4.000 | Hitting_AB | 3.669 | 3.000 | 0.331 | 1.000 |
| predicted_AVG | 0.239 | 0.500 | 0.250 | Hitting_AVG | 0.268 | 0.000 | 0.232 | 0.500 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.390 | 0.000 | -0.390 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.790 | 2.000 | 1.000 | Hitting_H | 0.983 | 0.000 | 1.017 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_OBP | 0.275 | 0.500 | 0.250 | Hitting_OBP | 0.343 | 0.000 | 0.157 | 0.500 |
| predicted_R | 0.437 | 1.000 | 0.000 | Hitting_R | 0.513 | 0.000 | 0.487 | 1.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.343 | 0.000 | -0.343 | 0.000 |
| predicted_SLG | 0.371 | 1.000 | 0.250 | Hitting_SLG | 0.424 | 0.000 | 0.576 | 1.000 |
| predicted_SO | 0.831 | 2.000 | 1.000 | Hitting_SO | 0.754 | 0.000 | 1.246 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.2250 -> 2.0000 (boost 1.7750, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2390 -> 0.2302 (deboost -0.0088, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2302 -> 0.2157 (deboost -0.0145, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.6242 -> 4.0000 (boost 0.3758, better) | predicted_RBI: 0.3160 -> 0.0000 (deboost -0.3160, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.216 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4027 -> 0.0000 (deboost -0.4027, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2157 -> 0.2500 (boost 0.0343, better) | predicted_SLG: 0.3625 -> 0.2500 (deboost -0.1125, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_2B: 0.0000 -> 2.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.3625 (boost 0.1125, better) | predicted_AVG: 0.2500 -> 0.2157 (deboost -0.0343, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "662139",
"player_name": "Daulton Varsho",
"position": "CF",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.225,
"predicted_3B": 0.028,
"predicted_AB": 3.62,
"predicted_AVG": 0.239,
"predicted_BB": 0.324,
"predicted_H": 0.79,
"predicted_HR": 0.09,
"predicted_OBP": 0.275,
"predicted_R": 0.437,
"predicted_RBI": 0.33,
"predicted_SLG": 0.371,
"predicted_SO": 0.831
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2271,
"predicted_3B": 0.0234,
"predicted_AB": 3.6242,
"predicted_AVG": 0.2302,
"predicted_BB": 0.2793,
"predicted_H": 0.7908,
"predicted_HBP": 0.018,
"predicted_HR": 0.087,
"predicted_OBP": 0.2699,
"predicted_R": 0.4104,
"predicted_RBI": 0.322,
"predicted_SLG": 0.3661,
"predicted_SO": 0.8331
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 0.2271,
"delta": 0.0021,
"percent_delta": 0.0093,
"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.62,
"after": 3.6242,
"delta": 0.0042,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2302,
"delta": -0.0088,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.2793,
"delta": -0.0447,
"percent_delta": -0.138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.7908,
"delta": 0.0008,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.087,
"delta": -0.003,
"percent_delta": -0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2699,
"delta": -0.0051,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 0.4104,
"delta": -0.0266,
"percent_delta": -0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.322,
"delta": -0.008,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3661,
"delta": -0.0049,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 0.8331,
"delta": 0.0021,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2302,
"delta": -0.0088,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2271,
"predicted_3B": 0.0234,
"predicted_AB": 3.6242,
"predicted_AVG": 0.2157,
"predicted_BB": 0.2781,
"predicted_H": 0.7816,
"predicted_HBP": 0.018,
"predicted_HR": 0.0861,
"predicted_OBP": 0.2716,
"predicted_R": 0.4027,
"predicted_RBI": 0.316,
"predicted_SLG": 0.3625,
"predicted_SO": 0.8366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2271,
"after": 0.2271,
"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.6242,
"after": 3.6242,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.2157,
"delta": -0.0145,
"percent_delta": -0.063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2793,
"after": 0.2781,
"delta": -0.0012,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7908,
"after": 0.7816,
"delta": -0.0092,
"percent_delta": -0.0116,
"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.087,
"after": 0.0861,
"delta": -0.0009,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2699,
"after": 0.2716,
"delta": 0.0017,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4104,
"after": 0.4027,
"delta": -0.0077,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.322,
"after": 0.316,
"delta": -0.006,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3661,
"after": 0.3625,
"delta": -0.0036,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8331,
"after": 0.8366,
"delta": 0.0035,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.2157,
"delta": -0.0145,
"percent_delta": -0.063,
"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.216 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2271,
"after": 0.0,
"delta": -0.2271,
"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.6242,
"after": 4.0,
"delta": 0.3758,
"percent_delta": 0.1037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2781,
"after": 0.0,
"delta": -0.2781,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7816,
"after": 1.0,
"delta": 0.2184,
"percent_delta": 0.2794,
"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.0861,
"after": 0.0,
"delta": -0.0861,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8366,
"after": 1.0,
"delta": 0.1634,
"percent_delta": 0.1953,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6242,
"after": 4.0,
"delta": 0.3758,
"percent_delta": 0.1037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4027,
"after": 0.0,
"delta": -0.4027,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4027,
"after": 0.0,
"delta": -0.4027,
"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.2157,
"after": 0.25,
"delta": 0.0343,
"percent_delta": 0.159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2716,
"after": 0.25,
"delta": -0.0216,
"percent_delta": -0.0795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3625,
"after": 0.25,
"delta": -0.1125,
"percent_delta": -0.3103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2157,
"after": 0.25,
"delta": 0.0343,
"percent_delta": 0.159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3625,
"after": 0.25,
"delta": -0.1125,
"percent_delta": -0.3103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 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_2B",
"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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2157,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2716,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3625,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2157,
"delta": -0.0343,
"percent_delta": -0.1373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2716,
"delta": 0.0216,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3625,
"delta": 0.1125,
"percent_delta": 0.4501,
"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.3625,
"delta": 0.1125,
"percent_delta": 0.4501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2157,
"delta": -0.0343,
"percent_delta": -0.1373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 2.0,
"delta": 1.775,
"percent_delta": 7.8889,
"direction": "boost",
"projection_effect": "better",
"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.62,
"after": 4.0,
"delta": 0.38,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2157,
"delta": -0.0233,
"percent_delta": -0.0975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 2.0,
"delta": 1.21,
"percent_delta": 1.5316,
"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.275,
"after": 0.2716,
"delta": -0.0034,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.437,
"after": 1.0,
"delta": 0.563,
"percent_delta": 1.2883,
"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.371,
"after": 0.3625,
"delta": -0.0085,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 2.0,
"delta": 1.169,
"percent_delta": 1.4067,
"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.225,
"after": 2.0,
"delta": 1.775,
"percent_delta": 7.8889,
"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.225 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.620 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.437 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 0.831 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.227 | 0.002 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.624 | 0.004 |
| predicted_AVG | 0.230 | -0.009 |
| predicted_BB | 0.279 | -0.045 |
| predicted_H | 0.791 | 0.001 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.087 | -0.003 |
| predicted_OBP | 0.270 | -0.005 |
| predicted_R | 0.410 | -0.027 |
| predicted_RBI | 0.322 | -0.008 |
| predicted_SLG | 0.366 | -0.005 |
| predicted_SO | 0.833 | 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.227 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.624 | 0.000 |
| predicted_AVG | 0.216 | -0.014 |
| predicted_BB | 0.278 | -0.001 |
| predicted_H | 0.782 | -0.009 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.086 | -0.001 |
| predicted_OBP | 0.272 | 0.002 |
| predicted_R | 0.403 | -0.008 |
| predicted_RBI | 0.316 | -0.006 |
| predicted_SLG | 0.362 | -0.004 |
| predicted_SO | 0.837 | 0.004 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.216 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.227 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.376 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.278 |
| predicted_H | 1.000 | 0.218 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.250 | -0.022 |
| predicted_R | 0.000 | -0.403 |
| predicted_RBI | 0.000 | -0.316 |
| predicted_SLG | 0.250 | -0.112 |
| predicted_SO | 1.000 | 0.163 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 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 | 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 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 3.000 | 0.1176 | 0.1176 | 0.1765 | 0.1177 | 0.0000 | 0.0588 | 0.0000 | 0.1765 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 3.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 11.000 | 0.2105 | 0.2308 | 0.3684 | 0.2105 | 0.0263 | 0.0790 | 0.0263 | 0.2895 |
| season | 0.60 | 71 | - | 257.000 | 64.000 | 16.000 | 2.000 | 7.000 | 23.000 | 31.000 | 23.000 | 59.000 | 0.2490 | 0.3145 | 0.4086 | 0.2490 | 0.0272 | 0.0895 | 0.0895 | 0.2296 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2300 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.6300 |
| predicted_AVG | 0.2182 |
| predicted_BB | 0.2180 |
| predicted_H | 0.7920 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.2630 |
| predicted_R | 0.3740 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.3594 |
| predicted_SO | 0.8360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2250 | 0.2300 | 0.2271 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0234 | model_form_blend |
| predicted_AB | 3.6200 | 3.6300 | 3.6242 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2182 | 0.2302 | model_form_blend |
| predicted_BB | 0.3240 | 0.2180 | 0.2793 | model_form_blend |
| predicted_H | 0.7900 | 0.7920 | 0.7908 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0900 | 0.0830 | 0.0870 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2630 | 0.2699 | model_form_blend |
| predicted_R | 0.4370 | 0.3740 | 0.4104 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3110 | 0.3220 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3594 | 0.3661 | model_form_blend |
| predicted_SO | 0.8310 | 0.8360 | 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 | 236 |
| Season rows before report date | 236 |
| 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 | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.249 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 662139 |
| playerID | 662139 |
| playerName | Daulton Varsho |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.316 |
| sl_xwoba | 0.295 |
| sl_xba | 0.24 |
| sl_xslg | 0.361 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 38.7 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 53.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.111 | 0.000 | 0.000 | Hitting_2B | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.220 | 1.000 | 0.780 | 2.000 |
| predicted_AVG | 0.306 | 0.333 | 0.333 | Hitting_AVG | 0.246 | 0.000 | 0.088 | 0.333 |
| predicted_BB | 0.204 | 1.000 | 0.000 | Hitting_BB | 0.265 | 0.000 | 0.735 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.480 | 1.000 | 1.000 | Hitting_H | 0.545 | 0.000 | 0.455 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_OBP | 0.306 | 0.500 | 0.333 | Hitting_OBP | 0.320 | 0.000 | 0.180 | 0.500 |
| predicted_R | 0.407 | 1.000 | 0.000 | Hitting_R | 0.432 | 0.000 | 0.568 | 1.000 |
| predicted_RBI | 0.330 | 1.000 | 0.000 | Hitting_RBI | 0.205 | 0.000 | 0.795 | 1.000 |
| predicted_SLG | 0.404 | 0.333 | 0.333 | Hitting_SLG | 0.369 | 0.000 | -0.035 | 0.333 |
| predicted_SO | 0.407 | 0.000 | 0.000 | Hitting_SO | 0.348 | 0.000 | -0.348 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.2040 -> 1.0000 (boost 0.7960, better) |
| Biggest Deboost | predicted_SO: 0.4070 -> 0.0000 (deboost -0.4070, 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_RBI: 0.3300 -> 0.4021 (boost 0.0721, better) | predicted_AB: 2.5000 -> 2.3966 (deboost -0.1034, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2718 -> 0.2004 (deboost -0.0714, 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: 2.3966 -> 3.0000 (boost 0.6034, better) | predicted_RBI: 0.3946 -> 0.0000 (deboost -0.3946, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.192 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3679 -> 0.0000 (deboost -0.3679, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2004 -> 0.3330 (boost 0.1326, better) | predicted_SLG: 0.3511 -> 0.3330 (deboost -0.0181, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3511 (boost 0.0181, better) | predicted_AVG: 0.3330 -> 0.2004 (deboost -0.1326, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664702",
"player_name": "Myles Straw",
"position": "LF",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.306,
"predicted_BB": 0.204,
"predicted_H": 0.48,
"predicted_HR": 0.07,
"predicted_OBP": 0.306,
"predicted_R": 0.407,
"predicted_RBI": 0.33,
"predicted_SLG": 0.404,
"predicted_SO": 0.407
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1018,
"predicted_3B": 0.0008,
"predicted_AB": 2.3966,
"predicted_AVG": 0.2718,
"predicted_BB": 0.1776,
"predicted_H": 0.486,
"predicted_HBP": 0.003,
"predicted_HR": 0.0868,
"predicted_OBP": 0.2883,
"predicted_R": 0.3749,
"predicted_RBI": 0.4021,
"predicted_SLG": 0.407,
"predicted_SO": 0.3806
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1018,
"delta": -0.0092,
"percent_delta": -0.0829,
"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.3966,
"delta": -0.1034,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.306,
"after": 0.2718,
"delta": -0.0342,
"percent_delta": -0.1118,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.204,
"after": 0.1776,
"delta": -0.0264,
"percent_delta": -0.1294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.48,
"after": 0.486,
"delta": 0.006,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0868,
"delta": 0.0168,
"percent_delta": 0.24,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2883,
"delta": -0.0177,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.3749,
"delta": -0.0321,
"percent_delta": -0.0789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.4021,
"delta": 0.0721,
"percent_delta": 0.2185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.407,
"delta": 0.003,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.407,
"after": 0.3806,
"delta": -0.0264,
"percent_delta": -0.0649,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.4021,
"delta": 0.0721,
"percent_delta": 0.2185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.3966,
"delta": -0.1034,
"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": 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.1018,
"predicted_3B": 0.0008,
"predicted_AB": 2.3966,
"predicted_AVG": 0.2004,
"predicted_BB": 0.1769,
"predicted_H": 0.4804,
"predicted_HBP": 0.003,
"predicted_HR": 0.0859,
"predicted_OBP": 0.2554,
"predicted_R": 0.3679,
"predicted_RBI": 0.3946,
"predicted_SLG": 0.3511,
"predicted_SO": 0.3822
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1018,
"after": 0.1018,
"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.3966,
"after": 2.3966,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2718,
"after": 0.2004,
"delta": -0.0714,
"percent_delta": -0.2627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1776,
"after": 0.1769,
"delta": -0.0007,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.486,
"after": 0.4804,
"delta": -0.0056,
"percent_delta": -0.0115,
"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.0868,
"after": 0.0859,
"delta": -0.0009,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2883,
"after": 0.2554,
"delta": -0.0329,
"percent_delta": -0.1141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3749,
"after": 0.3679,
"delta": -0.007,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4021,
"after": 0.3946,
"delta": -0.0075,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3511,
"delta": -0.0559,
"percent_delta": -0.1373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3806,
"after": 0.3822,
"delta": 0.0016,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2718,
"after": 0.2004,
"delta": -0.0714,
"percent_delta": -0.2627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.192 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1018,
"after": 0.0,
"delta": -0.1018,
"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.3966,
"after": 3.0,
"delta": 0.6034,
"percent_delta": 0.2518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1769,
"after": 0.0,
"delta": -0.1769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4804,
"after": 1.0,
"delta": 0.5196,
"percent_delta": 1.0816,
"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.0859,
"after": 0.0,
"delta": -0.0859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3946,
"after": 0.0,
"delta": -0.3946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3822,
"after": 0.0,
"delta": -0.3822,
"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_AB",
"before": 2.3966,
"after": 3.0,
"delta": 0.6034,
"percent_delta": 0.2518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3946,
"after": 0.0,
"delta": -0.3946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3679,
"after": 0.0,
"delta": -0.3679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3679,
"after": 0.0,
"delta": -0.3679,
"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.2004,
"after": 0.333,
"delta": 0.1326,
"percent_delta": 0.6617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2554,
"after": 0.333,
"delta": 0.0776,
"percent_delta": 0.3038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3511,
"after": 0.333,
"delta": -0.0181,
"percent_delta": -0.0516,
"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.2004,
"after": 0.333,
"delta": 0.1326,
"percent_delta": 0.6617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3511,
"after": 0.333,
"delta": -0.0181,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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_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.2004,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2554,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3511,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2004,
"delta": -0.1326,
"percent_delta": -0.3981,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2554,
"delta": -0.0776,
"percent_delta": -0.2331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3511,
"delta": 0.0181,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3511,
"delta": 0.0181,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2004,
"delta": -0.1326,
"percent_delta": -0.3981,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.306,
"after": 0.2004,
"delta": -0.1056,
"percent_delta": -0.3451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.204,
"after": 1.0,
"delta": 0.796,
"percent_delta": 3.902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.48,
"after": 1.0,
"delta": 0.52,
"percent_delta": 1.0833,
"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.306,
"after": 0.2554,
"delta": -0.0506,
"percent_delta": -0.1654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 1.0,
"delta": 0.593,
"percent_delta": 1.457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.3511,
"delta": -0.0529,
"percent_delta": -0.1309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.204,
"after": 1.0,
"delta": 0.796,
"percent_delta": 3.902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"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.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.306 | - |
| predicted_BB | 0.204 | - |
| predicted_H | 0.480 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.407 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.407 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | -0.009 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.397 | -0.103 |
| predicted_AVG | 0.272 | -0.034 |
| predicted_BB | 0.178 | -0.026 |
| predicted_H | 0.486 | 0.006 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.087 | 0.017 |
| predicted_OBP | 0.288 | -0.018 |
| predicted_R | 0.375 | -0.032 |
| predicted_RBI | 0.402 | 0.072 |
| predicted_SLG | 0.407 | 0.003 |
| predicted_SO | 0.381 | -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.102 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.397 | 0.000 |
| predicted_AVG | 0.200 | -0.071 |
| predicted_BB | 0.177 | -0.001 |
| predicted_H | 0.480 | -0.006 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.086 | -0.001 |
| predicted_OBP | 0.255 | -0.033 |
| predicted_R | 0.368 | -0.007 |
| predicted_RBI | 0.395 | -0.008 |
| predicted_SLG | 0.351 | -0.056 |
| predicted_SO | 0.382 | 0.002 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.192 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 | 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.102 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.603 |
| predicted_AVG | 0.333 | 0.133 |
| predicted_BB | 0.000 | -0.177 |
| predicted_H | 1.000 | 0.520 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.333 | 0.078 |
| predicted_R | 0.000 | -0.368 |
| predicted_RBI | 0.000 | -0.395 |
| predicted_SLG | 0.333 | -0.018 |
| predicted_SO | 0.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 | 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 | 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 | - | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 1.000 | 0.1429 | 0.1429 | 0.5714 | 0.1429 | 0.1429 | 0.5714 | 0.0000 | 0.1429 |
| last_10 | 0.20 | 10 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 6.000 | 2.000 | 1.000 | 1.000 | 0.2222 | 0.2500 | 0.4444 | 0.2222 | 0.0556 | 0.3333 | 0.0556 | 0.0556 |
| season | 0.60 | 63 | - | 135.000 | 32.000 | 6.000 | 0.000 | 3.000 | 15.000 | 22.000 | 11.000 | 22.000 | 0.2370 | 0.2905 | 0.3481 | 0.2370 | 0.0222 | 0.1111 | 0.0815 | 0.1630 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.2420 |
| predicted_AVG | 0.2207 |
| predicted_BB | 0.1380 |
| predicted_H | 0.4950 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.2618 |
| predicted_R | 0.3270 |
| predicted_RBI | 0.5100 |
| predicted_SLG | 0.4116 |
| predicted_SO | 0.3410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0880 | 0.1018 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.2420 | 2.3966 | model_form_blend |
| predicted_AVG | 0.3060 | 0.2207 | 0.2718 | model_form_blend |
| predicted_BB | 0.2040 | 0.1380 | 0.1776 | model_form_blend |
| predicted_H | 0.4800 | 0.4950 | 0.4860 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0700 | 0.1120 | 0.0868 | model_form_blend |
| predicted_OBP | 0.3060 | 0.2618 | 0.2883 | model_form_blend |
| predicted_R | 0.4070 | 0.3270 | 0.3749 | model_form_blend |
| predicted_RBI | 0.3300 | 0.5100 | 0.4021 | model_form_blend |
| predicted_SLG | 0.4040 | 0.4116 | 0.4070 | model_form_blend |
| predicted_SO | 0.4070 | 0.3410 | 0.3806 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 132 |
| Season rows before report date | 132 |
| Report year | 2026 |
| Profile rows used | 63 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.237 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20260705_TOR@SEA |
| game_type | ph |
| mlbID | 664702 |
| note | Flied out for Piñango in the 8th. |
| playerID | 664702 |
| playerName | Myles Straw |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.287 |
| sl_xwoba | 0.297 |
| sl_xba | 0.257 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 27.1 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 12.1 |
| sl_swing_percent | 38.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.169 | 1.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | 0.854 | 1.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.265 | 4.000 | 3.000 | Hitting_AB | 3.487 | 2.000 | 0.513 | 2.000 |
| predicted_AVG | 0.243 | 0.250 | 0.333 | Hitting_AVG | 0.234 | 0.000 | 0.016 | 0.250 |
| predicted_BB | 0.133 | 0.000 | 0.000 | Hitting_BB | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.814 | 0.000 | 0.186 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.333 | Hitting_OBP | 0.270 | 0.000 | -0.020 | 0.250 |
| predicted_R | 0.289 | 0.000 | 0.000 | Hitting_R | 0.292 | 0.000 | -0.292 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_SLG | 0.354 | 0.500 | 0.333 | Hitting_SLG | 0.385 | 0.000 | 0.115 | 0.500 |
| predicted_SO | 0.699 | 1.000 | 1.000 | Hitting_SO | 0.659 | 1.000 | 0.341 | 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.1690 -> 1.0000 (boost 0.8310, better) |
| Biggest Deboost | predicted_RBI: 0.3400 -> 0.0000 (deboost -0.3400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.1330 -> 0.1952 (boost 0.0622, better) | predicted_AB: 3.2650 -> 3.1919 (deboost -0.0731, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2993 -> 0.2651 (deboost -0.0342, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7027 -> 1.0000 (boost 0.2973, worse) | predicted_RBI: 0.3332 -> 0.0000 (deboost -0.3332, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.215 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2765 -> 0.0000 (deboost -0.2765, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2203 -> 0.3330 (boost 0.1127, better) | predicted_SLG: 0.3432 -> 0.3330 (deboost -0.0102, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3432 (boost 0.0102, better) | predicted_AVG: 0.3330 -> 0.2203 (deboost -0.1127, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665926",
"player_name": "Andrés Giménez",
"position": "SS",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.012,
"predicted_AB": 3.265,
"predicted_AVG": 0.243,
"predicted_BB": 0.133,
"predicted_H": 0.72,
"predicted_HR": 0.07,
"predicted_OBP": 0.299,
"predicted_R": 0.289,
"predicted_RBI": 0.34,
"predicted_SLG": 0.354,
"predicted_SO": 0.699
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1846,
"predicted_3B": 0.0099,
"predicted_AB": 3.1919,
"predicted_AVG": 0.236,
"predicted_BB": 0.1952,
"predicted_H": 0.7115,
"predicted_HBP": 0.052,
"predicted_HR": 0.0632,
"predicted_OBP": 0.2993,
"predicted_R": 0.2818,
"predicted_RBI": 0.3396,
"predicted_SLG": 0.3523,
"predicted_SO": 0.6998
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1846,
"delta": 0.0156,
"percent_delta": 0.0923,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0099,
"delta": -0.0021,
"percent_delta": -0.175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.265,
"after": 3.1919,
"delta": -0.0731,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.236,
"delta": -0.007,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.133,
"after": 0.1952,
"delta": 0.0622,
"percent_delta": 0.4677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7115,
"delta": -0.0085,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0632,
"delta": -0.0068,
"percent_delta": -0.0971,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2993,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 0.2818,
"delta": -0.0072,
"percent_delta": -0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3396,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3523,
"delta": -0.0017,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.699,
"after": 0.6998,
"delta": 0.0008,
"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_BB",
"before": 0.133,
"after": 0.1952,
"delta": 0.0622,
"percent_delta": 0.4677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.265,
"after": 3.1919,
"delta": -0.0731,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1846,
"predicted_3B": 0.0099,
"predicted_AB": 3.1919,
"predicted_AVG": 0.2203,
"predicted_BB": 0.1944,
"predicted_H": 0.7032,
"predicted_HBP": 0.052,
"predicted_HR": 0.0626,
"predicted_OBP": 0.2651,
"predicted_R": 0.2765,
"predicted_RBI": 0.3332,
"predicted_SLG": 0.3432,
"predicted_SO": 0.7027
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1846,
"after": 0.1846,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0099,
"after": 0.0099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1919,
"after": 3.1919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2203,
"delta": -0.0157,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1952,
"after": 0.1944,
"delta": -0.0008,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7115,
"after": 0.7032,
"delta": -0.0083,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.052,
"after": 0.052,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0632,
"after": 0.0626,
"delta": -0.0006,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2993,
"after": 0.2651,
"delta": -0.0342,
"percent_delta": -0.1143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2818,
"after": 0.2765,
"delta": -0.0053,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3396,
"after": 0.3332,
"delta": -0.0064,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3523,
"after": 0.3432,
"delta": -0.0091,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6998,
"after": 0.7027,
"delta": 0.0029,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2993,
"after": 0.2651,
"delta": -0.0342,
"percent_delta": -0.1143,
"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.215 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.1846,
"after": 0.0,
"delta": -0.1846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0099,
"after": 0.0,
"delta": -0.0099,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1919,
"after": 3.0,
"delta": -0.1919,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1944,
"after": 0.0,
"delta": -0.1944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7032,
"after": 1.0,
"delta": 0.2968,
"percent_delta": 0.4221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.052,
"after": 0.0,
"delta": -0.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0626,
"after": 0.0,
"delta": -0.0626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3332,
"after": 0.0,
"delta": -0.3332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7027,
"after": 1.0,
"delta": 0.2973,
"percent_delta": 0.4231,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7027,
"after": 1.0,
"delta": 0.2973,
"percent_delta": 0.4231,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3332,
"after": 0.0,
"delta": -0.3332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2765,
"after": 0.0,
"delta": -0.2765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.2765,
"after": 0.0,
"delta": -0.2765,
"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.2203,
"after": 0.333,
"delta": 0.1127,
"percent_delta": 0.5116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2651,
"after": 0.333,
"delta": 0.0679,
"percent_delta": 0.2561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3432,
"after": 0.333,
"delta": -0.0102,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2203,
"after": 0.333,
"delta": 0.1127,
"percent_delta": 0.5116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3432,
"after": 0.333,
"delta": -0.0102,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2203,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2651,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3432,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2203,
"delta": -0.1127,
"percent_delta": -0.3384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2651,
"delta": -0.0679,
"percent_delta": -0.204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3432,
"delta": 0.0102,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3432,
"delta": 0.0102,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2203,
"delta": -0.1127,
"percent_delta": -0.3384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 1.0,
"delta": 0.831,
"percent_delta": 4.9172,
"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.265,
"after": 4.0,
"delta": 0.735,
"percent_delta": 0.2251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2203,
"delta": -0.0227,
"percent_delta": -0.0934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2651,
"delta": -0.0339,
"percent_delta": -0.1134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3432,
"delta": -0.0108,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.699,
"after": 1.0,
"delta": 0.301,
"percent_delta": 0.4306,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.169,
"after": 1.0,
"delta": 0.831,
"percent_delta": 4.9172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.265 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.133 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.289 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 0.699 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.016 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.192 | -0.073 |
| predicted_AVG | 0.236 | -0.007 |
| predicted_BB | 0.195 | 0.062 |
| predicted_H | 0.712 | -0.008 |
| predicted_HBP | 0.052 | - |
| predicted_HR | 0.063 | -0.007 |
| predicted_OBP | 0.299 | 0.000 |
| predicted_R | 0.282 | -0.007 |
| predicted_RBI | 0.340 | -0.000 |
| predicted_SLG | 0.352 | -0.002 |
| predicted_SO | 0.700 | 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.185 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.192 | 0.000 |
| predicted_AVG | 0.220 | -0.016 |
| predicted_BB | 0.194 | -0.001 |
| predicted_H | 0.703 | -0.008 |
| predicted_HBP | 0.052 | 0.000 |
| predicted_HR | 0.063 | -0.001 |
| predicted_OBP | 0.265 | -0.034 |
| predicted_R | 0.277 | -0.005 |
| predicted_RBI | 0.333 | -0.006 |
| predicted_SLG | 0.343 | -0.009 |
| predicted_SO | 0.703 | 0.003 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.215 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.185 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 3.000 | -0.192 |
| predicted_AVG | 0.333 | 0.113 |
| predicted_BB | 0.000 | -0.194 |
| predicted_H | 1.000 | 0.297 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.068 |
| predicted_R | 0.000 | -0.277 |
| predicted_RBI | 0.000 | -0.333 |
| predicted_SLG | 0.333 | -0.010 |
| predicted_SO | 1.000 | 0.297 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 4.000 | 0.1538 | 0.3125 | 0.2308 | 0.1538 | 0.0000 | 0.0769 | 0.2308 | 0.3077 |
| last_10 | 0.20 | 10 | - | 27.000 | 7.000 | 3.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 5.000 | 0.2593 | 0.3333 | 0.3704 | 0.2593 | 0.0000 | 0.0741 | 0.1111 | 0.1852 |
| season | 0.60 | 83 | - | 271.000 | 64.000 | 14.000 | 1.000 | 7.000 | 35.000 | 24.000 | 11.000 | 58.000 | 0.2362 | 0.2833 | 0.3727 | 0.2362 | 0.0258 | 0.1291 | 0.0406 | 0.2140 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.0920 |
| predicted_AVG | 0.2265 |
| predicted_BB | 0.2800 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0520 |
| predicted_HR | 0.0540 |
| predicted_OBP | 0.2998 |
| predicted_R | 0.2720 |
| predicted_RBI | 0.3390 |
| predicted_SLG | 0.3500 |
| predicted_SO | 0.7010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.2060 | 0.1846 | model_form_blend |
| predicted_3B | 0.0120 | 0.0070 | 0.0099 | model_form_blend |
| predicted_AB | 3.2650 | 3.0920 | 3.1919 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2265 | 0.2360 | model_form_blend |
| predicted_BB | 0.1330 | 0.2800 | 0.1952 | model_form_blend |
| predicted_H | 0.7200 | 0.7000 | 0.7115 | model_form_blend |
| predicted_HBP | - | 0.0520 | 0.0520 | form_only |
| predicted_HR | 0.0700 | 0.0540 | 0.0632 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2998 | 0.2993 | model_form_blend |
| predicted_R | 0.2890 | 0.2720 | 0.2818 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3390 | 0.3396 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3500 | 0.3523 | model_form_blend |
| predicted_SO | 0.6990 | 0.7010 | 0.6998 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 226 |
| Season rows before report date | 226 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260704_TOR@SEA |
| game_type | full |
| mlbID | 665926 |
| playerID | 665926 |
| playerName | Andrés Giménez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-04 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 3.7 |
| sl_woba | 0.288 |
| sl_xwoba | 0.268 |
| sl_xba | 0.227 |
| sl_xslg | 0.319 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 24.3 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 56.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.333 | 2.000 | 0.667 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.611 | 1.000 | -0.611 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 5.333 | 5.000 | -2.333 | -2.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.494 | 6.000 | -0.394 | -0.900 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.556 | 7.000 | 0.444 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 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": "592332",
"player_name": "Kevin Gausman",
"position": "Starter",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 2.0,
"predicted_IP": 5.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 2.0,
"predicted_IP": 5.1,
"predicted_R": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 6.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 26.000 | 19.000 | 28.000 | 10.000 | 26.000 | 8.000 | 6.5769 | 1.4615 | 0.7308 | 1.0769 | 0.3846 | 1.0000 | 0.3077 |
| last_10 | 0.35 | 10 | 54.100 | 31.000 | 59.000 | 15.000 | 57.000 | 10.000 | 5.1350 | 1.3620 | 0.5706 | 1.0859 | 0.2761 | 1.0491 | 0.1840 |
| season | 0.20 | 18 | 101.000 | 47.000 | 96.000 | 24.000 | 100.000 | 15.000 | 4.1881 | 1.1881 | 0.4653 | 0.9505 | 0.2376 | 0.9901 | 0.1485 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7550 |
| predicted_ER | 3.2100 |
| predicted_ERA | 5.3645 |
| predicted_H | 5.5810 |
| predicted_HR | 1.1550 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.3960 |
| predicted_WHIP | 1.3622 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.7550 | 1.8633 | model_form_blend |
| predicted_ER | 2.0000 | 3.2100 | 2.6754 | model_form_blend |
| predicted_ERA | - | 5.3645 | 5.3645 | form_only |
| predicted_H | 3.0000 | 5.5810 | 4.4406 | model_form_blend |
| predicted_HR | 2.0000 | 1.1550 | 1.5284 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 6.0000 | 5.3960 | 5.6629 | model_form_blend |
| predicted_WHIP | - | 1.3622 | 1.3622 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.1 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 6 |
| HR | 2 |
| BF | 21 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.19 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 5 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 65 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260630_NYM@TOR |
| game_type | full |
| mlbID | 592332 |
| playerID | 592332 |
| playerName | Kevin Gausman |
| pos | P |
| started | True |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-30 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.309 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 39.8 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 50.6 |
| sl_avg_best_speed | 77.176166483 |
| sl_avg_hyper_speed | 94.658781241 |
| 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.366 | 1.000 | -0.366 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.463 | 0.000 | -0.463 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.976 | 0.000 | -0.976 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.846 | 1.000 | 0.154 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.512 | 2.000 | 0.488 | 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": "656546",
"player_name": "Jeff Hoffman",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 2.000 | 3.000 | 8.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.3750 | 0.5625 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 0.000 | 3.000 | 5.000 | 13.000 | 0.000 | 0.0000 | 0.7742 | 0.0000 | 0.2903 | 0.4839 | 1.2581 | 0.0000 |
| season | 0.20 | 41 | 38.200 | 19.000 | 40.000 | 15.000 | 62.000 | 4.000 | 4.4224 | 1.4224 | 0.4914 | 1.0345 | 0.3879 | 1.6035 | 0.1035 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4440 |
| predicted_ER | 0.2580 |
| predicted_ERA | 2.3260 |
| predicted_H | 0.6720 |
| predicted_HR | 0.0710 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2460 |
| predicted_WHIP | 1.1153 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4440 | 0.2146 | model_form_blend |
| predicted_ER | 0.0000 | 0.2580 | 0.1247 | model_form_blend |
| predicted_ERA | - | 2.3260 | 2.3260 | form_only |
| predicted_H | 0.0000 | 0.6720 | 0.3247 | model_form_blend |
| predicted_HR | 0.0000 | 0.0710 | 0.0343 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2460 | 1.6356 | model_form_blend |
| predicted_WHIP | - | 1.1153 | 1.1153 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| 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 | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.42 |
| 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 | 24 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260703_TOR@SEA |
| game_type | full |
| mlbID | 656546 |
| playerID | 656546 |
| playerName | Jeff Hoffman |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-03 |
| sl_k_percent | 35.8 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.322 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 30.4 |
| sl_whiff_percent | 38.1 |
| sl_swing_percent | 51.0 |
| sl_avg_best_speed | 76.830374 |
| sl_avg_hyper_speed | 92.669352778 |
| 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.310 | 0.000 | -0.310 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.762 | 1.000 | -0.762 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.036 | 1.000 | 0.164 | 0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.548 | 1.000 | -1.548 | -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": "686973",
"player_name": "Louis Varland",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 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 | 1.000 | 4.000 | 2.000 | 8.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 0.8000 | 0.4000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.100 | 3.000 | 7.000 | 3.000 | 19.000 | 1.000 | 2.3824 | 0.8824 | 0.2647 | 0.6177 | 0.2647 | 1.6765 | 0.0882 |
| season | 0.20 | 42 | 47.000 | 5.000 | 32.000 | 13.000 | 65.000 | 1.000 | 0.9574 | 0.9574 | 0.1064 | 0.6808 | 0.2766 | 1.3830 | 0.0213 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3380 |
| predicted_ER | 0.3090 |
| predicted_ERA | 2.7783 |
| predicted_H | 0.8020 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3640 |
| predicted_WHIP | 1.1404 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3380 | 0.1698 | model_form_blend |
| predicted_ER | 0.0000 | 0.3090 | 0.1553 | model_form_blend |
| predicted_ERA | - | 2.7783 | 2.7783 | form_only |
| predicted_H | 0.0000 | 0.8020 | 0.4030 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0377 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3640 | 0.6854 | model_form_blend |
| predicted_WHIP | - | 1.1404 | 1.1404 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 42 |
| Season rows before report date | 42 |
| Report year | 2026 |
| Profile rows used | 42 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.96 |
| 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260703_TOR@SEA |
| game_type | full |
| mlbID | 686973 |
| playerID | 686973 |
| playerName | Louis Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-03 |
| sl_k_percent | 35.9 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.222 |
| sl_xwoba | 0.22 |
| sl_sweet_spot_percent | 23.3 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 35.9 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 51.3 |
| sl_avg_best_speed | 75.668954808 |
| sl_avg_hyper_speed | 93.220011942 |
| 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 | 0.000 | 0.690 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.857 | 0.000 | -0.857 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.890 | 1.000 | 0.110 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.500 | 1.000 | -0.500 | -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": "643511",
"player_name": "Tyler Rogers",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 7.000 | 2.000 | 1.000 | 0.000 | 1.8000 | 1.8000 | 0.2000 | 1.4000 | 0.4000 | 0.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 14.000 | 3.000 | 3.000 | 0.000 | 0.9310 | 1.7586 | 0.1035 | 1.4483 | 0.3103 | 0.3103 | 0.0000 |
| season | 0.20 | 42 | 40.200 | 8.000 | 36.000 | 13.000 | 21.000 | 0.000 | 1.7705 | 1.2049 | 0.1967 | 0.8852 | 0.3197 | 0.5164 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3540 |
| predicted_ER | 0.2950 |
| predicted_ERA | 2.6559 |
| predicted_H | 1.1820 |
| predicted_HR | 0.0570 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.5520 |
| predicted_WHIP | 1.5365 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3540 | 0.6846 | model_form_blend |
| predicted_ER | 0.0000 | 0.2950 | 0.1441 | model_form_blend |
| predicted_ERA | - | 2.6559 | 2.6559 | form_only |
| predicted_H | 0.0000 | 1.1820 | 0.5772 | model_form_blend |
| predicted_HR | 0.0000 | 0.0570 | 0.0278 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.5520 | 0.2695 | model_form_blend |
| predicted_WHIP | - | 1.5365 | 1.5365 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 42 |
| Season rows before report date | 42 |
| Report year | 2026 |
| Profile rows used | 42 |
| 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 | 1.77 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 6 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260705_TOR@SEA |
| game_type | full |
| mlbID | 643511 |
| playerID | 643511 |
| playerName | Tyler Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-07-05 |
| sl_k_percent | 12.4 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.249 |
| sl_xwoba | 0.258 |
| sl_sweet_spot_percent | 23.7 |
| sl_barrel_batted_rate | 0.8 |
| sl_hard_hit_percent | 25.9 |
| sl_whiff_percent | 13.7 |
| sl_swing_percent | 50.8 |
| sl_avg_best_speed | 71.626973939 |
| sl_avg_hyper_speed | 92.191478939 |
| Field | Value |
|---|---|
| Pitcher | Landen Roupp |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4389 |
| ESPN Rank | 260 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5 |
| Pre ER | 0 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 4.5506 |
| Season WHIP | 1.3708 |
| Role Avg IP | 5.2350 |
| Recent Avg IP | 5 |
| Last Start IP | 2.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"opponent": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"edges": {
"quality_edge": -0.0184,
"offense_edge": -0.0637,
"opponent_offense_edge": -0.1188,
"defense_strength": -0.0321,
"opponent_defense_weakness": -0.0713,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0031,
"run_prevention": 0.9851,
"strikeout": 1.009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694738",
"profile": {
"available": true,
"pitcher_id": "694738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 246.0,
"k_percent": 26.0,
"bb_percent": 10.5,
"woba": 0.316,
"xwoba": 0.289,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 29.3,
"avg_best_speed": 75.8243,
"avg_hyper_speed": 92.6887,
"whiff_percent": 26.4,
"swing_percent": 42.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.5734,
"command_and_miss": 0.1836,
"regression_edge": 0.7714,
"xwoba_edge": 0.6857,
"barrel_edge": 0.7778,
"hard_hit_edge": 1.3,
"whiff_edge": 0.1286,
"bb_edge": -0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "694738",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4389,
"sample_weight": 0.984,
"run_prevention_factor": 0.9627,
"strikeout_factor": 1.0242,
"walk_factor": 1.0315,
"homer_factor": 0.8674,
"woba_minus_xwoba": 0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694738",
"espn_id": 4345404,
"player_name": "Landen Roupp",
"team": "SF",
"role": "pitcher",
"espn_rank": 260,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 260,
"gp_value": 17.0,
"gp_rank": 283,
"gs_value": 17.0,
"gs_rank": 36,
"qs_value": 7.0,
"qs_rank": 41,
"era_value": 4.5505,
"era_rank": 58.0,
"w_value": 5.0,
"w_rank": 63,
"l_value": 8.0,
"l_rank": 4,
"sv_value": 0.0,
"sv_rank": 194,
"hld_value": 0.0,
"hld_rank": 280,
"ip_value": 89.0,
"ip_rank": 66,
"h_value": 82.0,
"h_rank": 62,
"er_value": 45.0,
"er_rank": 33,
"hr_value": 6.0,
"hr_rank": 171,
"bb_value": 40.0,
"bb_rank": 11,
"k_value": 99.0,
"k_rank": 30,
"k_per_9_value": 10.011235,
"k_per_9_rank": 12.0,
"whip_value": 1.3707,
"whip_rank": 53.0,
"war_value": 0.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9633,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9633,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.031,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8695,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0238,
"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": 49.1,
"ER": 31,
"H": 56,
"BB": 24,
"SO": 56,
"HR": 5,
"ERA": 5.655405405405405,
"WHIP": 1.6216216216216215,
"K9": 10.216216216216216,
"HR9": 0.9121621621621622,
"games_pitched": 10,
"quality_starts": 3,
"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": "694738",
"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": "694738",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.0,
"ER": 15.0,
"R": 15.0,
"H": 25.0,
"BB": 13.0,
"SO": 27.0,
"HR": 3.0,
"BF": 110.0,
"Pitches": 493.0
},
"per_game": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 2.6,
"SO": 5.4,
"HR": 0.6,
"BF": 22.0,
"Pitches": 98.6
},
"rates": {
"ERA": 5.4,
"WHIP": 1.52,
"ER_per_IP": 0.6,
"H_per_IP": 1.0,
"BB_per_IP": 0.52,
"SO_per_IP": 1.08,
"HR_per_IP": 0.12
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.1,
"ER": 31.0,
"R": 33.0,
"H": 56.0,
"BB": 24.0,
"SO": 56.0,
"HR": 5.0,
"BF": 222.0,
"Pitches": 972.0
},
"per_game": {
"IP": 5.0,
"ER": 3.1,
"R": 3.3,
"H": 5.6,
"BB": 2.4,
"SO": 5.6,
"HR": 0.5,
"BF": 22.2,
"Pitches": 97.2
},
"rates": {
"ERA": 5.6554,
"WHIP": 1.6216,
"ER_per_IP": 0.62838,
"H_per_IP": 1.13514,
"BB_per_IP": 0.48649,
"SO_per_IP": 1.13514,
"HR_per_IP": 0.10135
}
},
"season": {
"games": 17,
"totals": {
"IP": 89.0,
"ER": 45.0,
"R": 49.0,
"H": 82.0,
"BB": 40.0,
"SO": 99.0,
"HR": 6.0,
"BF": 381.0,
"Pitches": 1632.0
},
"per_game": {
"IP": 5.1,
"ER": 2.6471,
"R": 2.8824,
"H": 4.8235,
"BB": 2.3529,
"SO": 5.8235,
"HR": 0.3529,
"BF": 22.4118,
"Pitches": 96.0
},
"rates": {
"ERA": 4.5506,
"WHIP": 1.3708,
"ER_per_IP": 0.50562,
"H_per_IP": 0.92135,
"BB_per_IP": 0.44944,
"SO_per_IP": 1.11236,
"HR_per_IP": 0.06742
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.886,
"predicted_H": 5.14,
"predicted_BB": 2.339,
"predicted_SO": 5.412,
"predicted_HR": 0.573,
"predicted_ERA": 5.1416,
"predicted_WHIP": 1.4805
}
}{
"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.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.886,
"final": 1.5987,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.14,
"final": 4.1855,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.339,
"final": 1.7418,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.412,
"final": 5.2282,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.573,
"final": 0.3174,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1416,
"final": 5.1416,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4805,
"final": 1.4805,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Caleb Kilian |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1078 |
| ESPN Rank | 287 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 4 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 4.1351 |
| Season WHIP | 1.2703 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"opponent": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"edges": {
"quality_edge": -0.0184,
"offense_edge": -0.0637,
"opponent_offense_edge": -0.1188,
"defense_strength": -0.0321,
"opponent_defense_weakness": -0.0713,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0031,
"run_prevention": 0.9851,
"strikeout": 1.009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668873",
"profile": {
"available": true,
"pitcher_id": "668873",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 28.5,
"bb_percent": 10.8,
"woba": 0.287,
"xwoba": 0.301,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 37.2,
"avg_best_speed": 75.6137,
"avg_hyper_speed": 93.5766,
"whiff_percent": 28.6,
"swing_percent": 48.4
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.2953,
"command_and_miss": 0.4393,
"regression_edge": -0.4,
"xwoba_edge": 0.3429,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.1714,
"whiff_edge": 0.4429,
"bb_edge": -0.475,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668873",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1078,
"sample_weight": 0.45,
"run_prevention_factor": 0.9908,
"strikeout_factor": 1.0231,
"walk_factor": 1.0171,
"homer_factor": 1.0027,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668873",
"espn_id": 4875969,
"player_name": "Caleb Kilian",
"team": "SF",
"role": "pitcher",
"espn_rank": 287,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 287,
"gp_value": 36.0,
"gp_rank": 59,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 4.1351,
"era_rank": null,
"w_value": 2.0,
"w_rank": 226,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 8.0,
"sv_rank": 23,
"hld_value": 3.0,
"hld_rank": 157,
"ip_value": 37.0,
"ip_rank": 241,
"h_value": 30.0,
"h_rank": 268,
"er_value": 17.0,
"er_rank": 230,
"hr_value": 5.0,
"hr_rank": 207,
"bb_value": 17.0,
"bb_rank": 207,
"k_value": 45.0,
"k_rank": 178,
"k_per_9_value": 10.945946,
"k_per_9_rank": 19.0,
"whip_value": 1.2702,
"whip_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9959,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9959,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0077,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0104,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 6,
"H": 11,
"BB": 3,
"SO": 15,
"HR": 0,
"ERA": 5.7857142857142865,
"WHIP": 1.5000000000000002,
"K9": 14.464285714285715,
"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-04T00:00:00"
}{
"available": false,
"pitcher_id": "668873",
"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.338,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5947,
"prior_weight": 0.4053
},
"role": "pitcher",
"player_id": "668873",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.8,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 5.0,
"Pitches": 16.8
},
"rates": {
"ERA": 11.5714,
"WHIP": 2.3571,
"ER_per_IP": 1.28571,
"H_per_IP": 1.92857,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 3.0,
"SO": 15.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.1,
"BB": 0.3,
"SO": 1.5,
"HR": 0.0,
"BF": 4.2,
"Pitches": 14.5
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.5,
"ER_per_IP": 0.64286,
"H_per_IP": 1.17857,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.60714,
"HR_per_IP": 0.0
}
},
"season": {
"games": 36,
"totals": {
"IP": 37.0,
"ER": 17.0,
"R": 19.0,
"H": 30.0,
"BB": 17.0,
"SO": 45.0,
"HR": 5.0,
"BF": 158.0,
"Pitches": 585.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4722,
"R": 0.5278,
"H": 0.8333,
"BB": 0.4722,
"SO": 1.25,
"HR": 0.1389,
"BF": 4.3889,
"Pitches": 16.25
},
"rates": {
"ERA": 4.1351,
"WHIP": 1.2703,
"ER_per_IP": 0.45946,
"H_per_IP": 0.81081,
"BB_per_IP": 0.45946,
"SO_per_IP": 1.21622,
"HR_per_IP": 0.13514
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.737,
"predicted_H": 1.251,
"predicted_BB": 0.381,
"predicted_SO": 1.267,
"predicted_HR": 0.077,
"predicted_ERA": 6.6315,
"predicted_WHIP": 1.6319
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5212,
"form_weight": 0.4788,
"form_reliability": 0.5947,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.338,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5947,
"prior_weight": 0.4053
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 0.737,
"final": 2.4378,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 1.251,
"final": 2.6839,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.381,
"final": 0.7036,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.267,
"final": 1.1278,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.077,
"final": 0.5581,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.6315,
"final": 6.6315,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6319,
"final": 1.6319,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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 Smith |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0110 |
| ESPN Rank | 265 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.8571 |
| Season WHIP | 1.2857 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"opponent": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"edges": {
"quality_edge": -0.0184,
"offense_edge": -0.0637,
"opponent_offense_edge": -0.1188,
"defense_strength": -0.0321,
"opponent_defense_weakness": -0.0713,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0031,
"run_prevention": 0.9851,
"strikeout": 1.009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681916",
"profile": {
"available": true,
"pitcher_id": "681916",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 3.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.319,
"xwoba": 0.318,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 35.3,
"avg_best_speed": 77.5172,
"avg_hyper_speed": 93.0647,
"whiff_percent": 26.2,
"swing_percent": 50.0
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.0533,
"command_and_miss": 0.01,
"regression_edge": 0.0286,
"xwoba_edge": -0.1429,
"barrel_edge": -0.3333,
"hard_hit_edge": 0.4429,
"whiff_edge": 0.1,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681916",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.011,
"sample_weight": 0.45,
"run_prevention_factor": 1.0009,
"strikeout_factor": 1.0018,
"walk_factor": 1.0045,
"homer_factor": 1.006,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681916",
"espn_id": 4414123,
"player_name": "Dylan Smith",
"team": "SF",
"role": "pitcher",
"espn_rank": 265,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 265,
"gp_value": 13.0,
"gp_rank": 380,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.8571,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 1.0,
"sv_rank": 98,
"hld_value": 3.0,
"hld_rank": 157,
"ip_value": 11.2,
"ip_rank": 489,
"h_value": 10.0,
"h_rank": 521,
"er_value": 5.0,
"er_rank": 536,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 5.0,
"bb_rank": 513,
"k_value": 12.0,
"k_rank": 470,
"k_per_9_value": 9.257143,
"k_per_9_rank": 25.0,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": 0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0004,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0027,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0008,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 10,
"BB": 4,
"SO": 9,
"HR": 2,
"ERA": 5.0,
"WHIP": 1.5555555555555556,
"K9": 9.0,
"HR9": 2.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-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "681916",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.314,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3163,
"prior_weight": 0.6837
},
"role": "pitcher",
"player_id": "681916",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 1.0,
"SO": 5.0,
"HR": 2.0,
"BF": 24.0,
"Pitches": 87.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.2,
"BB": 0.2,
"SO": 1.0,
"HR": 0.4,
"BF": 4.8,
"Pitches": 17.4
},
"rates": {
"ERA": 9.0,
"WHIP": 1.4,
"ER_per_IP": 1.0,
"H_per_IP": 1.2,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.4
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 4.0,
"SO": 9.0,
"HR": 2.0,
"BF": 44.0,
"Pitches": 174.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.4,
"SO": 0.9,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.4
},
"rates": {
"ERA": 5.0,
"WHIP": 1.5556,
"ER_per_IP": 0.55556,
"H_per_IP": 1.11111,
"BB_per_IP": 0.44444,
"SO_per_IP": 1.0,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 13,
"totals": {
"IP": 11.2,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 5.0,
"SO": 12.0,
"HR": 2.0,
"BF": 53.0,
"Pitches": 206.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3846,
"R": 0.3846,
"H": 0.7692,
"BB": 0.3846,
"SO": 0.9231,
"HR": 0.1538,
"BF": 4.0769,
"Pitches": 15.8462
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2857,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.02857,
"HR_per_IP": 0.17143
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.576,
"predicted_H": 1.011,
"predicted_BB": 0.349,
"predicted_SO": 0.97,
"predicted_HR": 0.194,
"predicted_ERA": 5.1802,
"predicted_WHIP": 1.36
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6389,
"form_weight": 0.3611,
"form_reliability": 0.3163,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.314,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3163,
"prior_weight": 0.6837
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.576,
"final": 0.8469,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.011,
"final": 1.6428,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.349,
"final": 0.126,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.97,
"final": 0.9892,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.194,
"final": 0.7089,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1802,
"final": 5.1802,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.36,
"final": 1.36,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Erik Miller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1231 |
| ESPN Rank | 264 |
| 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 | 3.3750 |
| Season WHIP | 1.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"opponent": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"edges": {
"quality_edge": -0.0184,
"offense_edge": -0.0637,
"opponent_offense_edge": -0.1188,
"defense_strength": -0.0321,
"opponent_defense_weakness": -0.0713,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0031,
"run_prevention": 0.9851,
"strikeout": 1.009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669062",
"profile": {
"available": true,
"pitcher_id": "669062",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 67.0,
"k_percent": 30.3,
"bb_percent": 18.3,
"woba": 0.322,
"xwoba": 0.308,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 30.9,
"avg_best_speed": 70.9763,
"avg_hyper_speed": 93.0811,
"whiff_percent": 33.9,
"swing_percent": 36.7
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.2106,
"command_and_miss": 0.445,
"regression_edge": 0.4,
"xwoba_edge": 0.1429,
"barrel_edge": -0.4444,
"hard_hit_edge": 1.0714,
"whiff_edge": 1.2,
"bb_edge": -2.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "669062",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1231,
"sample_weight": 0.45,
"run_prevention_factor": 0.9895,
"strikeout_factor": 1.0414,
"walk_factor": 1.0846,
"homer_factor": 0.9948,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669062",
"espn_id": 4152950,
"player_name": "Erik Miller",
"team": "SF",
"role": "pitcher",
"espn_rank": 264,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 264,
"gp_value": 29.0,
"gp_rank": 136,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 3.75,
"era_rank": null,
"w_value": 1.0,
"w_rank": 310,
"l_value": 0.0,
"l_rank": 465,
"sv_value": 2.0,
"sv_rank": 63,
"hld_value": 9.0,
"hld_rank": 49,
"ip_value": 24.0,
"ip_rank": 386,
"h_value": 19.0,
"h_rank": 404,
"er_value": 10.0,
"er_rank": 388,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 20.0,
"bb_rank": 157,
"k_value": 33.0,
"k_rank": 276,
"k_per_9_value": 12.375,
"k_per_9_rank": 19.0,
"whip_value": 1.625,
"whip_rank": null,
"war_value": 0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9953,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9953,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0381,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0186,
"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": 1,
"H": 7,
"BB": 5,
"SO": 8,
"HR": 1,
"ERA": 1.35,
"WHIP": 1.8000000000000003,
"K9": 10.8,
"HR9": 1.35,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-05T00:00:00"
}{
"available": false,
"pitcher_id": "669062",
"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.76,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4877,
"prior_weight": 0.5123
},
"role": "pitcher",
"player_id": "669062",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.1538,
"ER_per_IP": 0.0,
"H_per_IP": 0.46154,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 5.0,
"SO": 9.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 136.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1,
"R": 0.1,
"H": 0.8,
"BB": 0.5,
"SO": 0.9,
"HR": 0.1,
"BF": 3.4,
"Pitches": 13.6
},
"rates": {
"ERA": 1.1739,
"WHIP": 1.6957,
"ER_per_IP": 0.13043,
"H_per_IP": 1.04348,
"BB_per_IP": 0.65217,
"SO_per_IP": 1.17391,
"HR_per_IP": 0.13043
}
},
"season": {
"games": 28,
"totals": {
"IP": 24.0,
"ER": 9.0,
"R": 9.0,
"H": 18.0,
"BB": 18.0,
"SO": 33.0,
"HR": 2.0,
"BF": 106.0,
"Pitches": 485.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3214,
"R": 0.3214,
"H": 0.6429,
"BB": 0.6429,
"SO": 1.1786,
"HR": 0.0714,
"BF": 3.7857,
"Pitches": 17.3214
},
"rates": {
"ERA": 3.375,
"WHIP": 1.5,
"ER_per_IP": 0.375,
"H_per_IP": 0.75,
"BB_per_IP": 0.75,
"SO_per_IP": 1.375,
"HR_per_IP": 0.08333
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.299,
"predicted_H": 0.801,
"predicted_BB": 0.49,
"predicted_SO": 1.063,
"predicted_HR": 0.101,
"predicted_ERA": 2.8537,
"predicted_WHIP": 1.3688
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5664,
"form_weight": 0.4336,
"form_reliability": 0.4877,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.76,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4877,
"prior_weight": 0.5123
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.299,
"final": 0.1296,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.801,
"final": 0.3473,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.49,
"final": 0.2124,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.063,
"final": 1.5938,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.101,
"final": 0.0438,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8537,
"final": 2.8537,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3688,
"final": 1.3688,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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 Walker |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0369 |
| ESPN Rank | 688 |
| 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 | 5.1781 |
| Season WHIP | 1.5616 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 100,
"wins": 43,
"losses": 57,
"win_pct": 0.43,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.44,
"avg_runs_scored": 4.25,
"avg_runs_allowed": 4.69,
"offense_index": 0.9363,
"defense_index": 0.9679,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.7,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1478
},
"opponent": {
"team": "TOR",
"games": 97,
"wins": 45,
"losses": 52,
"win_pct": 0.4639,
"runs_scored": 388.0,
"runs_allowed": 411.0,
"run_differential": -23.0,
"run_differential_per_game": -0.2371,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2371,
"offense_index": 0.8812,
"defense_index": 1.0713,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.3,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1294
},
"edges": {
"quality_edge": -0.0184,
"offense_edge": -0.0637,
"opponent_offense_edge": -0.1188,
"defense_strength": -0.0321,
"opponent_defense_weakness": -0.0713,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0031,
"run_prevention": 0.9851,
"strikeout": 1.009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676254",
"profile": {
"available": true,
"pitcher_id": "676254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 69.0,
"k_percent": 16.7,
"bb_percent": 12.3,
"woba": 0.347,
"xwoba": 0.314,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 33.8,
"avg_best_speed": 71.2164,
"avg_hyper_speed": 92.7308,
"whiff_percent": 15.2,
"swing_percent": 43.0
},
"league_medians": {
"pa": 66.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.315,
"xwoba": 0.313,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.6409,
"avg_hyper_speed": 93.9274,
"whiff_percent": 25.5,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.1795,
"command_and_miss": -1.0643,
"regression_edge": 0.9429,
"xwoba_edge": -0.0286,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.6571,
"whiff_edge": -1.4714,
"bb_edge": -0.85,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676254",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0369,
"sample_weight": 0.45,
"run_prevention_factor": 1.0031,
"strikeout_factor": 0.9583,
"walk_factor": 1.0306,
"homer_factor": 0.9702,
"woba_minus_xwoba": 0.033,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676254",
"espn_id": 5000950,
"player_name": "Ryan Walker",
"team": "SF",
"role": "pitcher",
"espn_rank": 688,
"espn_total_ranked": 736,
"metrics": {
"espn_rank": 688,
"gp_value": 25.0,
"gp_rank": 173,
"gs_value": 0.0,
"gs_rank": 305,
"qs_value": 0.0,
"qs_rank": 182,
"era_value": 6.6575,
"era_rank": null,
"w_value": 0.0,
"w_rank": 427,
"l_value": 1.0,
"l_rank": 319,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 3.0,
"hld_rank": 157,
"ip_value": 24.1,
"ip_rank": 382,
"h_value": 28.0,
"h_rank": 295,
"er_value": 18.0,
"er_rank": 213,
"hr_value": 2.0,
"hr_rank": 396,
"bb_value": 14.0,
"bb_rank": 256,
"k_value": 19.0,
"k_rank": 407,
"k_per_9_value": 7.0273976,
"k_per_9_rank": 28.0,
"whip_value": 1.726,
"whip_rank": null,
"war_value": -0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0014,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0014,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0138,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9866,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9812,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 5,
"H": 8,
"BB": 5,
"SO": 6,
"HR": 0,
"ERA": 4.655172413793104,
"WHIP": 1.3448275862068966,
"K9": 5.586206896551724,
"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-07-03T00:00:00"
}{
"available": false,
"pitcher_id": "676254",
"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.826,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4911,
"prior_weight": 0.5089
},
"role": "pitcher",
"player_id": "676254",
"report_date": "20260706_T",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 4.0,
"SO": 2.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.8,
"SO": 0.4,
"HR": 0.0,
"BF": 5.2,
"Pitches": 19.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3333,
"ER_per_IP": 0.5,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 0.33333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 7.0,
"SO": 6.0,
"HR": 1.0,
"BF": 49.0,
"Pitches": 192.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.0,
"BB": 0.7,
"SO": 0.6,
"HR": 0.1,
"BF": 4.9,
"Pitches": 19.2
},
"rates": {
"ERA": 5.9062,
"WHIP": 1.5938,
"ER_per_IP": 0.65625,
"H_per_IP": 0.9375,
"BB_per_IP": 0.65625,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 24,
"totals": {
"IP": 24.1,
"ER": 14.0,
"R": 15.0,
"H": 24.0,
"BB": 14.0,
"SO": 19.0,
"HR": 2.0,
"BF": 110.0,
"Pitches": 432.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5833,
"R": 0.625,
"H": 1.0,
"BB": 0.5833,
"SO": 0.7917,
"HR": 0.0833,
"BF": 4.5833,
"Pitches": 18.0
},
"rates": {
"ERA": 5.1781,
"WHIP": 1.5616,
"ER_per_IP": 0.57534,
"H_per_IP": 0.9863,
"BB_per_IP": 0.57534,
"SO_per_IP": 0.78082,
"HR_per_IP": 0.08219
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.576,
"predicted_H": 0.965,
"predicted_BB": 0.535,
"predicted_SO": 0.787,
"predicted_HR": 0.107,
"predicted_ERA": 4.8269,
"predicted_WHIP": 1.3973
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.565,
"form_weight": 0.435,
"form_reliability": 0.4911,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.826,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4911,
"prior_weight": 0.5089
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.576,
"final": 0.2506,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.965,
"final": 0.4198,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.535,
"final": 0.7977,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.787,
"final": 0.9073,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.107,
"final": 0.0465,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8269,
"final": 4.8269,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3973,
"final": 1.3973,
"source": "form_only"
}
}
}{
"available": false,
"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.228 | 0.000 | -0.228 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_AB | 4.270 | 4.000 | 4.000 | Hitting_AB | 3.969 | 4.000 | 0.031 | 0.000 |
| predicted_AVG | 0.242 | 0.500 | 0.250 | Hitting_AVG | 0.303 | 0.250 | 0.197 | 0.250 |
| predicted_BB | 0.087 | 0.000 | 0.000 | Hitting_BB | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.040 | 2.000 | 1.000 | Hitting_H | 1.202 | 1.000 | 0.798 | 1.000 |
| predicted_HR | 0.170 | 2.000 | 0.000 | Hitting_HR | 0.246 | 1.000 | 1.754 | 1.000 |
| predicted_OBP | 0.285 | 0.500 | 0.250 | Hitting_OBP | 0.342 | 0.400 | 0.158 | 0.100 |
| predicted_R | 0.500 | 1.000 | 0.000 | Hitting_R | 0.623 | 1.000 | 0.377 | 0.000 |
| predicted_RBI | 0.480 | 2.000 | 0.000 | Hitting_RBI | 0.640 | 1.000 | 1.360 | 1.000 |
| predicted_SLG | 0.433 | 2.000 | 0.250 | Hitting_SLG | 0.568 | 1.000 | 1.432 | 1.000 |
| predicted_SO | 0.812 | 1.000 | 1.000 | Hitting_SO | 0.811 | 1.000 | 0.189 | 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_HR: 0.1700 -> 2.0000 (boost 1.8300, better) |
| Biggest Deboost | predicted_AB: 4.2700 -> 4.0000 (deboost -0.2700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.2700 -> 4.1844 (deboost -0.0856, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2816 -> 0.2576 (deboost -0.0240, 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.8073 -> 1.0000 (boost 0.1927, worse) | predicted_RBI: 0.4701 -> 0.0000 (deboost -0.4701, worse) | AB rounded to 4 (raw=4.27), rates preserved: AVG=0.238 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4857 -> 0.0000 (deboost -0.4857, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2433 -> 0.2500 (boost 0.0067, better) | predicted_SLG: 0.4178 -> 0.2500 (deboost -0.1678, 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_HR: 0.0000 -> 2.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.4178 (boost 0.1678, better) | predicted_AVG: 0.2500 -> 0.2433 (deboost -0.0067, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669477",
"player_name": "Casey Schmitt",
"position": "3B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.012,
"predicted_AB": 4.27,
"predicted_AVG": 0.242,
"predicted_BB": 0.087,
"predicted_H": 1.04,
"predicted_HR": 0.17,
"predicted_OBP": 0.285,
"predicted_R": 0.5,
"predicted_RBI": 0.48,
"predicted_SLG": 0.433,
"predicted_SO": 0.812
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1915,
"predicted_3B": 0.0103,
"predicted_AB": 4.1844,
"predicted_AVG": 0.2449,
"predicted_BB": 0.081,
"predicted_H": 1.0281,
"predicted_HBP": 0.104,
"predicted_HR": 0.1755,
"predicted_OBP": 0.2816,
"predicted_R": 0.4932,
"predicted_RBI": 0.4774,
"predicted_SLG": 0.4328,
"predicted_SO": 0.8048
},
"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.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 4.1844,
"delta": -0.0856,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2449,
"delta": 0.0029,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.087,
"after": 0.081,
"delta": -0.006,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0281,
"delta": -0.0119,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1755,
"delta": 0.0055,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2816,
"delta": -0.0034,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4932,
"delta": -0.0068,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4774,
"delta": -0.0026,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4328,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.8048,
"delta": -0.0072,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 4.1844,
"delta": -0.0856,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1915,
"predicted_3B": 0.0103,
"predicted_AB": 4.1844,
"predicted_AVG": 0.2433,
"predicted_BB": 0.0807,
"predicted_H": 1.018,
"predicted_HBP": 0.104,
"predicted_HR": 0.1727,
"predicted_OBP": 0.2576,
"predicted_R": 0.4857,
"predicted_RBI": 0.4701,
"predicted_SLG": 0.4178,
"predicted_SO": 0.8073
},
"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.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1844,
"after": 4.1844,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2449,
"after": 0.2433,
"delta": -0.0016,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.081,
"after": 0.0807,
"delta": -0.0003,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0281,
"after": 1.018,
"delta": -0.0101,
"percent_delta": -0.0098,
"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.1755,
"after": 0.1727,
"delta": -0.0028,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2816,
"after": 0.2576,
"delta": -0.024,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4932,
"after": 0.4857,
"delta": -0.0075,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4774,
"after": 0.4701,
"delta": -0.0073,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4328,
"after": 0.4178,
"delta": -0.015,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8048,
"after": 0.8073,
"delta": 0.0025,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2816,
"after": 0.2576,
"delta": -0.024,
"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=4.27), 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": 0.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.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1844,
"after": 4.0,
"delta": -0.1844,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0807,
"after": 0.0,
"delta": -0.0807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.018,
"after": 1.0,
"delta": -0.018,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1727,
"after": 0.0,
"delta": -0.1727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4701,
"after": 0.0,
"delta": -0.4701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8073,
"after": 1.0,
"delta": 0.1927,
"percent_delta": 0.2387,
"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.8073,
"after": 1.0,
"delta": 0.1927,
"percent_delta": 0.2387,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4701,
"after": 0.0,
"delta": -0.4701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4857,
"after": 0.0,
"delta": -0.4857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4857,
"after": 0.0,
"delta": -0.4857,
"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.2433,
"after": 0.25,
"delta": 0.0067,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2576,
"after": 0.25,
"delta": -0.0076,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4178,
"after": 0.25,
"delta": -0.1678,
"percent_delta": -0.4016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2433,
"after": 0.25,
"delta": 0.0067,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4178,
"after": 0.25,
"delta": -0.1678,
"percent_delta": -0.4016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.2433,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_OBP": 0.2576,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4178,
"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.2433,
"delta": -0.0067,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2576,
"delta": 0.0076,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.4178,
"delta": 0.1678,
"percent_delta": 0.6713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4178,
"delta": 0.1678,
"percent_delta": 0.6713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2433,
"delta": -0.0067,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "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.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0,
"delta": -0.27,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2433,
"delta": 0.0013,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 2.0,
"delta": 1.83,
"percent_delta": 10.7647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2576,
"delta": -0.0274,
"percent_delta": -0.0961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 2.0,
"delta": 1.52,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4178,
"delta": -0.0152,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 1.0,
"delta": 0.188,
"percent_delta": 0.2315,
"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_HR",
"before": 0.17,
"after": 2.0,
"delta": 1.83,
"percent_delta": 10.7647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0,
"delta": -0.27,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.012 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.087 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 0.812 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | -0.009 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.184 | -0.086 |
| predicted_AVG | 0.245 | 0.003 |
| predicted_BB | 0.081 | -0.006 |
| predicted_H | 1.028 | -0.012 |
| predicted_HBP | 0.104 | - |
| predicted_HR | 0.175 | 0.005 |
| predicted_OBP | 0.282 | -0.003 |
| predicted_R | 0.493 | -0.007 |
| predicted_RBI | 0.477 | -0.003 |
| predicted_SLG | 0.433 | -0.000 |
| predicted_SO | 0.805 | -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.192 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.184 | 0.000 |
| predicted_AVG | 0.243 | -0.002 |
| predicted_BB | 0.081 | -0.000 |
| predicted_H | 1.018 | -0.010 |
| predicted_HBP | 0.104 | 0.000 |
| predicted_HR | 0.173 | -0.003 |
| predicted_OBP | 0.258 | -0.024 |
| predicted_R | 0.486 | -0.008 |
| predicted_RBI | 0.470 | -0.007 |
| predicted_SLG | 0.418 | -0.015 |
| predicted_SO | 0.807 | 0.003 |
AB rounded to 4 (raw=4.27), 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 | 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.192 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.184 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 0.000 | -0.081 |
| predicted_H | 1.000 | -0.018 |
| predicted_HR | 0.000 | -0.173 |
| predicted_OBP | 0.250 | -0.008 |
| predicted_R | 0.000 | -0.486 |
| predicted_RBI | 0.000 | -0.470 |
| predicted_SLG | 0.250 | -0.168 |
| predicted_SO | 1.000 | 0.193 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.000 | 2.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 4.000 | 0.2273 | 0.2609 | 0.4091 | 0.2273 | 0.0454 | 0.0909 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 10 | - | 41.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 5.000 | 0.000 | 7.000 | 0.1707 | 0.1860 | 0.2683 | 0.1707 | 0.0244 | 0.0732 | 0.0000 | 0.1707 |
| season | 0.60 | 80 | - | 319.000 | 90.000 | 16.000 | 1.000 | 17.000 | 44.000 | 40.000 | 7.000 | 65.000 | 0.2821 | 0.3086 | 0.4984 | 0.2821 | 0.0533 | 0.1379 | 0.0219 | 0.2038 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0080 |
| predicted_AB | 4.0690 |
| predicted_AVG | 0.2488 |
| predicted_BB | 0.0730 |
| predicted_H | 1.0120 |
| predicted_HBP | 0.1040 |
| predicted_HR | 0.1830 |
| predicted_OBP | 0.2771 |
| predicted_R | 0.4840 |
| predicted_RBI | 0.4740 |
| predicted_SLG | 0.4325 |
| predicted_SO | 0.7950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1800 | 0.1915 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.2700 | 4.0690 | 4.1844 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2488 | 0.2449 | model_form_blend |
| predicted_BB | 0.0870 | 0.0730 | 0.0810 | model_form_blend |
| predicted_H | 1.0400 | 1.0120 | 1.0281 | model_form_blend |
| predicted_HBP | - | 0.1040 | 0.1040 | form_only |
| predicted_HR | 0.1700 | 0.1830 | 0.1755 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2771 | 0.2816 | model_form_blend |
| predicted_R | 0.5000 | 0.4840 | 0.4932 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4740 | 0.4774 | model_form_blend |
| predicted_SLG | 0.4330 | 0.4325 | 0.4328 | model_form_blend |
| predicted_SO | 0.8120 | 0.7950 | 0.8048 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 2 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 669477 |
| playerID | 669477 |
| playerName | Casey Schmitt |
| pos | LF |
| started | True |
| startingPosition | 3B |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 2.1 |
| sl_woba | 0.345 |
| sl_xwoba | 0.356 |
| sl_xba | 0.293 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 21.9 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 54.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.270 | 1.000 | 0.000 | Hitting_2B | 0.267 | 0.000 | 0.733 | 1.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.060 | 3.000 | 4.000 | Hitting_AB | 3.874 | 5.000 | -0.874 | -2.000 |
| predicted_AVG | 0.253 | 0.333 | 0.250 | Hitting_AVG | 0.253 | 0.400 | 0.080 | -0.067 |
| predicted_BB | 0.360 | 1.000 | 0.000 | Hitting_BB | 0.302 | 0.000 | 0.698 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 0.981 | 2.000 | 0.019 | -1.000 |
| predicted_HR | 0.290 | 0.000 | 0.000 | Hitting_HR | 0.153 | 2.000 | -0.153 | -2.000 |
| predicted_OBP | 0.346 | 0.500 | 0.250 | Hitting_OBP | 0.306 | 0.400 | 0.194 | 0.100 |
| predicted_R | 0.483 | 1.000 | 1.000 | Hitting_R | 0.435 | 2.000 | 0.565 | -1.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.542 | 2.000 | -0.542 | -2.000 |
| predicted_SLG | 0.546 | 0.667 | 0.250 | Hitting_SLG | 0.442 | 1.600 | 0.224 | -0.933 |
| predicted_SO | 1.191 | 2.000 | 1.000 | Hitting_SO | 1.229 | 2.000 | 0.771 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 1.1910 -> 2.0000 (boost 0.8090, worse) |
| Biggest Deboost | predicted_AB: 4.0600 -> 3.0000 (deboost -1.0600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 5 | 1 | predicted_R: 0.4830 -> 0.5443 (boost 0.0613, better) | predicted_AB: 4.0600 -> 3.9298 (deboost -0.1302, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3530 -> 0.3328 (deboost -0.0202, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.6168 -> 1.0000 (boost 0.3832, better) | predicted_BB: 0.3956 -> 0.0000 (deboost -0.3956, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.257 HR/AB=0.080 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=33.0, weight=0.210, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5360 -> 1.0000 (boost 0.4640, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5787 -> 0.2500 (deboost -0.3287, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 3 | 2 | 2 | 3 | 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5787 (boost 0.3287, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "DH",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.27,
"predicted_3B": 0.011,
"predicted_AB": 4.06,
"predicted_AVG": 0.253,
"predicted_BB": 0.36,
"predicted_H": 1.03,
"predicted_HR": 0.29,
"predicted_OBP": 0.346,
"predicted_R": 0.483,
"predicted_RBI": 0.61,
"predicted_SLG": 0.546,
"predicted_SO": 1.191
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.0093,
"predicted_AB": 3.9298,
"predicted_AVG": 0.2685,
"predicted_BB": 0.3968,
"predicted_H": 1.0544,
"predicted_HBP": 0.009,
"predicted_HR": 0.332,
"predicted_OBP": 0.353,
"predicted_R": 0.5443,
"predicted_RBI": 0.6263,
"predicted_SLG": 0.5908,
"predicted_SO": 1.0835
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.27,
"after": 0.231,
"delta": -0.039,
"percent_delta": -0.1444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9298,
"delta": -0.1302,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2685,
"delta": 0.0155,
"percent_delta": 0.0613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.3968,
"delta": 0.0368,
"percent_delta": 0.1022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0544,
"delta": 0.0244,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.29,
"after": 0.332,
"delta": 0.042,
"percent_delta": 0.1448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.353,
"delta": 0.007,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.483,
"after": 0.5443,
"delta": 0.0613,
"percent_delta": 0.1269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6263,
"delta": 0.0163,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.546,
"after": 0.5908,
"delta": 0.0448,
"percent_delta": 0.0821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.191,
"after": 1.0835,
"delta": -0.1075,
"percent_delta": -0.0903,
"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_R",
"before": 0.483,
"after": 0.5443,
"delta": 0.0613,
"percent_delta": 0.1269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9298,
"delta": -0.1302,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.0093,
"predicted_AB": 3.9298,
"predicted_AVG": 0.2657,
"predicted_BB": 0.3956,
"predicted_H": 1.0441,
"predicted_HBP": 0.009,
"predicted_HR": 0.3268,
"predicted_OBP": 0.3328,
"predicted_R": 0.536,
"predicted_RBI": 0.6168,
"predicted_SLG": 0.5787,
"predicted_SO": 1.0869
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.231,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9298,
"after": 3.9298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2685,
"after": 0.2657,
"delta": -0.0028,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3968,
"after": 0.3956,
"delta": -0.0012,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0544,
"after": 1.0441,
"delta": -0.0103,
"percent_delta": -0.0098,
"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.332,
"after": 0.3268,
"delta": -0.0052,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3328,
"delta": -0.0202,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5443,
"after": 0.536,
"delta": -0.0083,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6263,
"after": 0.6168,
"delta": -0.0095,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5908,
"after": 0.5787,
"delta": -0.0121,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0835,
"after": 1.0869,
"delta": 0.0034,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3328,
"delta": -0.0202,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.06), rates preserved: AVG=0.257 HR/AB=0.080",
"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.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9298,
"after": 4.0,
"delta": 0.0702,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3956,
"after": 0.0,
"delta": -0.3956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0441,
"after": 1.0,
"delta": -0.0441,
"percent_delta": -0.0422,
"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.3268,
"after": 0.0,
"delta": -0.3268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6168,
"after": 1.0,
"delta": 0.3832,
"percent_delta": 0.6213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0869,
"after": 1.0,
"delta": -0.0869,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6168,
"after": 1.0,
"delta": 0.3832,
"percent_delta": 0.6213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3956,
"after": 0.0,
"delta": -0.3956,
"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=33.0, weight=0.210, 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.7905,
"bvp": 0.2095
},
"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.536,
"after": 1.0,
"delta": 0.464,
"percent_delta": 0.8657,
"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.536,
"after": 1.0,
"delta": 0.464,
"percent_delta": 0.8657,
"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.2657,
"after": 0.25,
"delta": -0.0157,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3328,
"after": 0.25,
"delta": -0.0828,
"percent_delta": -0.2488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5787,
"after": 0.25,
"delta": -0.3287,
"percent_delta": -0.568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5787,
"after": 0.25,
"delta": -0.3287,
"percent_delta": -0.568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_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": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2657,
"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.3328,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5787,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2657,
"delta": 0.0157,
"percent_delta": 0.0627,
"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.3328,
"delta": 0.0828,
"percent_delta": 0.3313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5787,
"delta": 0.3287,
"percent_delta": 1.3147,
"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.5787,
"delta": 0.3287,
"percent_delta": 1.3147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"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": 4.06,
"after": 3.0,
"delta": -1.06,
"percent_delta": -0.2611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2657,
"delta": 0.0127,
"percent_delta": 0.0502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3328,
"delta": -0.0132,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.483,
"after": 1.0,
"delta": 0.517,
"percent_delta": 1.0704,
"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.546,
"after": 0.5787,
"delta": 0.0327,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.191,
"after": 2.0,
"delta": 0.809,
"percent_delta": 0.6793,
"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": 1.191,
"after": 2.0,
"delta": 0.809,
"percent_delta": 0.6793,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 3.0,
"delta": -1.06,
"percent_delta": -0.2611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.270 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.360 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.290 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.483 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.546 | - |
| predicted_SO | 1.191 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.039 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 3.930 | -0.130 |
| predicted_AVG | 0.269 | 0.016 |
| predicted_BB | 0.397 | 0.037 |
| predicted_H | 1.054 | 0.024 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.332 | 0.042 |
| predicted_OBP | 0.353 | 0.007 |
| predicted_R | 0.544 | 0.061 |
| predicted_RBI | 0.626 | 0.016 |
| predicted_SLG | 0.591 | 0.045 |
| predicted_SO | 1.083 | -0.108 |
Step 3: 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.009 | 0.000 |
| predicted_AB | 3.930 | 0.000 |
| predicted_AVG | 0.266 | -0.003 |
| predicted_BB | 0.396 | -0.001 |
| predicted_H | 1.044 | -0.010 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.327 | -0.005 |
| predicted_OBP | 0.333 | -0.020 |
| predicted_R | 0.536 | -0.008 |
| predicted_RBI | 0.617 | -0.009 |
| predicted_SLG | 0.579 | -0.012 |
| predicted_SO | 1.087 | 0.003 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.257 HR/AB=0.080
| 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=33.0, weight=0.210, 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 | 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.231 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.070 |
| predicted_AVG | 0.250 | -0.016 |
| predicted_BB | 0.000 | -0.396 |
| predicted_H | 1.000 | -0.044 |
| predicted_HR | 0.000 | -0.327 |
| predicted_OBP | 0.250 | -0.083 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 1.000 | 0.383 |
| predicted_SLG | 0.250 | -0.329 |
| predicted_SO | 1.000 | -0.087 |
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 | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 0.000 | 0.000 | 4.000 | 4.000 | 5.000 | 4.000 | 2.000 | 0.3889 | 0.5000 | 1.0556 | 0.3889 | 0.2222 | 0.2222 | 0.2222 | 0.1111 |
| last_10 | 0.20 | 10 | - | 37.000 | 12.000 | 1.000 | 0.000 | 6.000 | 9.000 | 7.000 | 4.000 | 8.000 | 0.3243 | 0.3902 | 0.8378 | 0.3243 | 0.1622 | 0.2432 | 0.1081 | 0.2162 |
| season | 0.60 | 89 | - | 340.000 | 85.000 | 24.000 | 1.000 | 18.000 | 47.000 | 43.000 | 32.000 | 106.000 | 0.2500 | 0.3147 | 0.4853 | 0.2500 | 0.0529 | 0.1382 | 0.0941 | 0.3118 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1790 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.7560 |
| predicted_AVG | 0.2893 |
| predicted_BB | 0.4460 |
| predicted_H | 1.0870 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.3880 |
| predicted_OBP | 0.3624 |
| predicted_R | 0.6260 |
| predicted_RBI | 0.6480 |
| predicted_SLG | 0.6506 |
| predicted_SO | 0.9400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2700 | 0.1790 | 0.2310 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 4.0600 | 3.7560 | 3.9298 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2893 | 0.2685 | model_form_blend |
| predicted_BB | 0.3600 | 0.4460 | 0.3968 | model_form_blend |
| predicted_H | 1.0300 | 1.0870 | 1.0544 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.2900 | 0.3880 | 0.3320 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3624 | 0.3530 | model_form_blend |
| predicted_R | 0.4830 | 0.6260 | 0.5443 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6480 | 0.6263 | model_form_blend |
| predicted_SLG | 0.5460 | 0.6506 | 0.5908 | model_form_blend |
| predicted_SO | 1.1910 | 0.9400 | 1.0835 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 8 |
| 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 | 20260705_SF@COL |
| game_type | full |
| mlbID | 646240 |
| playerID | 646240 |
| playerName | Rafael Devers |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.339 |
| sl_xwoba | 0.324 |
| sl_xba | 0.229 |
| sl_xslg | 0.463 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 50.8 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 29.6 |
| 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.238 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.083 | 0.000 | 0.000 | Hitting_3B | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_AB | 4.420 | 4.000 | 4.000 | Hitting_AB | 4.066 | 4.000 | -0.066 | 0.000 |
| predicted_AVG | 0.273 | 0.000 | 0.250 | Hitting_AVG | 0.338 | 0.000 | -0.338 | 0.000 |
| predicted_BB | 0.238 | 0.000 | 0.000 | Hitting_BB | 0.265 | 1.000 | -0.265 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.210 | 0.000 | 1.000 | Hitting_H | 1.374 | 0.000 | -1.374 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.350 | 0.000 | 0.250 | Hitting_OBP | 0.378 | 0.200 | -0.378 | -0.200 |
| predicted_R | 0.548 | 0.000 | 1.000 | Hitting_R | 0.564 | 0.000 | -0.564 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.428 | 0.000 | -0.428 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_SLG | 0.461 | 0.000 | 0.250 | Hitting_SLG | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SO | 0.167 | 0.000 | 1.000 | Hitting_SO | 0.183 | 0.000 | -0.183 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2730 -> 0.2956 (boost 0.0226, better) |
| Biggest Deboost | predicted_H: 1.2100 -> 0.0000 (deboost -1.2100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2730 -> 0.2998 (boost 0.0268, better) | predicted_AB: 4.4200 -> 4.2147 (deboost -0.2053, worse) | Final model input calibrated with local 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.4852 -> 0.4589 (deboost -0.0263, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.2109 -> 1.0000 (boost 0.7891, worse) | predicted_RBI: 0.3955 -> 0.0000 (deboost -0.3955, worse) | AB rounded to 4 (raw=4.42), rates preserved: AVG=0.282 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.750) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5384 -> 1.0000 (boost 0.4616, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4589 -> 0.2500 (deboost -0.2089, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4589 (boost 0.2089, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650333",
"player_name": "Luis Arraez",
"position": "2B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.238,
"predicted_3B": 0.083,
"predicted_AB": 4.42,
"predicted_AVG": 0.273,
"predicted_BB": 0.238,
"predicted_H": 1.21,
"predicted_HR": 0.09,
"predicted_OBP": 0.35,
"predicted_R": 0.548,
"predicted_RBI": 0.42,
"predicted_SLG": 0.461,
"predicted_SO": 0.167
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2389,
"predicted_3B": 0.0911,
"predicted_AB": 4.2147,
"predicted_AVG": 0.2998,
"predicted_BB": 0.2333,
"predicted_H": 1.2583,
"predicted_HBP": 0.022,
"predicted_HR": 0.0904,
"predicted_OBP": 0.3581,
"predicted_R": 0.5467,
"predicted_RBI": 0.4016,
"predicted_SLG": 0.4852,
"predicted_SO": 0.2102
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.2389,
"delta": 0.0009,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.083,
"after": 0.0911,
"delta": 0.0081,
"percent_delta": 0.0976,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.2147,
"delta": -0.2053,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2998,
"delta": 0.0268,
"percent_delta": 0.0982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.2333,
"delta": -0.0047,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 1.2583,
"delta": 0.0483,
"percent_delta": 0.0399,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0904,
"delta": 0.0004,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3581,
"delta": 0.0081,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 0.5467,
"delta": -0.0013,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4016,
"delta": -0.0184,
"percent_delta": -0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4852,
"delta": 0.0242,
"percent_delta": 0.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.167,
"after": 0.2102,
"delta": 0.0432,
"percent_delta": 0.2587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2998,
"delta": 0.0268,
"percent_delta": 0.0982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 4.2147,
"delta": -0.2053,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.2389,
"predicted_3B": 0.0911,
"predicted_AB": 4.2147,
"predicted_AVG": 0.2956,
"predicted_BB": 0.2326,
"predicted_H": 1.246,
"predicted_HBP": 0.022,
"predicted_HR": 0.089,
"predicted_OBP": 0.3325,
"predicted_R": 0.5384,
"predicted_RBI": 0.3955,
"predicted_SLG": 0.4589,
"predicted_SO": 0.2109
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2389,
"after": 0.2389,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0911,
"after": 0.0911,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2147,
"after": 4.2147,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2998,
"after": 0.2956,
"delta": -0.0042,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2333,
"after": 0.2326,
"delta": -0.0007,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2583,
"after": 1.246,
"delta": -0.0123,
"percent_delta": -0.0098,
"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.0904,
"after": 0.089,
"delta": -0.0014,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3581,
"after": 0.3325,
"delta": -0.0256,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5467,
"after": 0.5384,
"delta": -0.0083,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4016,
"after": 0.3955,
"delta": -0.0061,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4852,
"after": 0.4589,
"delta": -0.0263,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2102,
"after": 0.2109,
"delta": 0.0007,
"percent_delta": 0.0033,
"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.4852,
"after": 0.4589,
"delta": -0.0263,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.42), rates preserved: AVG=0.282 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.2389,
"after": 0.0,
"delta": -0.2389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0911,
"after": 0.0,
"delta": -0.0911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2147,
"after": 4.0,
"delta": -0.2147,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2326,
"after": 0.0,
"delta": -0.2326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.246,
"after": 1.0,
"delta": -0.246,
"percent_delta": -0.1974,
"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.089,
"after": 0.0,
"delta": -0.089,
"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.2109,
"after": 1.0,
"delta": 0.7891,
"percent_delta": 3.7416,
"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.2109,
"after": 1.0,
"delta": 0.7891,
"percent_delta": 3.7416,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3955,
"after": 0.0,
"delta": -0.3955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.750)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5384,
"after": 1.0,
"delta": 0.4616,
"percent_delta": 0.8574,
"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.5384,
"after": 1.0,
"delta": 0.4616,
"percent_delta": 0.8574,
"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.2956,
"after": 0.25,
"delta": -0.0456,
"percent_delta": -0.1543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3325,
"after": 0.25,
"delta": -0.0825,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4589,
"after": 0.25,
"delta": -0.2089,
"percent_delta": -0.4552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4589,
"after": 0.25,
"delta": -0.2089,
"percent_delta": -0.4552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2956,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3325,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4589,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2956,
"delta": 0.0456,
"percent_delta": 0.1825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3325,
"delta": 0.0825,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4589,
"delta": 0.2089,
"percent_delta": 0.8355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4589,
"delta": 0.2089,
"percent_delta": 0.8355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.0,
"delta": -0.42,
"percent_delta": -0.095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2956,
"delta": 0.0226,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 0.0,
"delta": -1.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3325,
"delta": -0.0175,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4589,
"delta": -0.0021,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"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.273,
"after": 0.2956,
"delta": 0.0226,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.21,
"after": 0.0,
"delta": -1.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | - |
| predicted_3B | 0.083 | - |
| predicted_AB | 4.420 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.238 | - |
| predicted_H | 1.210 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.548 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.461 | - |
| predicted_SO | 0.167 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | 0.001 |
| predicted_3B | 0.091 | 0.008 |
| predicted_AB | 4.215 | -0.205 |
| predicted_AVG | 0.300 | 0.027 |
| predicted_BB | 0.233 | -0.005 |
| predicted_H | 1.258 | 0.048 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.090 | 0.000 |
| predicted_OBP | 0.358 | 0.008 |
| predicted_R | 0.547 | -0.001 |
| predicted_RBI | 0.402 | -0.018 |
| predicted_SLG | 0.485 | 0.024 |
| predicted_SO | 0.210 | 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.239 | 0.000 |
| predicted_3B | 0.091 | 0.000 |
| predicted_AB | 4.215 | 0.000 |
| predicted_AVG | 0.296 | -0.004 |
| predicted_BB | 0.233 | -0.001 |
| predicted_H | 1.246 | -0.012 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.333 | -0.026 |
| predicted_R | 0.538 | -0.008 |
| predicted_RBI | 0.396 | -0.006 |
| predicted_SLG | 0.459 | -0.026 |
| predicted_SO | 0.211 | 0.001 |
AB rounded to 4 (raw=4.42), rates preserved: AVG=0.282 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=12.0, weight=0.114, BvP AVG=0.750)
| 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.239 |
| predicted_3B | 0.000 | -0.091 |
| predicted_AB | 4.000 | -0.215 |
| predicted_AVG | 0.250 | -0.046 |
| predicted_BB | 0.000 | -0.233 |
| predicted_H | 1.000 | -0.246 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.083 |
| predicted_R | 1.000 | 0.462 |
| predicted_RBI | 0.000 | -0.396 |
| predicted_SLG | 0.250 | -0.209 |
| predicted_SO | 1.000 | 0.789 |
Attached simulation box 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 | - | 21.000 | 7.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 1.000 | 2.000 | 0.3333 | 0.3636 | 0.6190 | 0.3333 | 0.0476 | 0.0952 | 0.0476 | 0.0952 |
| last_10 | 0.20 | 10 | - | 37.000 | 14.000 | 3.000 | 1.000 | 1.000 | 3.000 | 5.000 | 2.000 | 2.000 | 0.3784 | 0.4000 | 0.5946 | 0.3784 | 0.0270 | 0.0811 | 0.0541 | 0.0541 |
| season | 0.60 | 84 | - | 332.000 | 111.000 | 20.000 | 7.000 | 4.000 | 32.000 | 46.000 | 20.000 | 14.000 | 0.3343 | 0.3691 | 0.4729 | 0.3343 | 0.0120 | 0.0964 | 0.0602 | 0.0422 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2400 |
| predicted_3B | 0.1020 |
| predicted_AB | 3.9400 |
| predicted_AVG | 0.3357 |
| predicted_BB | 0.2270 |
| predicted_H | 1.3230 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.3690 |
| predicted_R | 0.5450 |
| predicted_RBI | 0.3770 |
| predicted_SLG | 0.5175 |
| predicted_SO | 0.2680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2380 | 0.2400 | 0.2389 | model_form_blend |
| predicted_3B | 0.0830 | 0.1020 | 0.0911 | model_form_blend |
| predicted_AB | 4.4200 | 3.9400 | 4.2147 | model_form_blend |
| predicted_AVG | 0.2730 | 0.3357 | 0.2998 | model_form_blend |
| predicted_BB | 0.2380 | 0.2270 | 0.2333 | model_form_blend |
| predicted_H | 1.2100 | 1.3230 | 1.2583 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0900 | 0.0910 | 0.0904 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3690 | 0.3581 | model_form_blend |
| predicted_R | 0.5480 | 0.5450 | 0.5467 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3770 | 0.4016 | model_form_blend |
| predicted_SLG | 0.4610 | 0.5175 | 0.4852 | model_form_blend |
| predicted_SO | 0.1670 | 0.2680 | 0.2102 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.334 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 650333 |
| playerID | 650333 |
| playerName | Luis Arraez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 4.0 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.353 |
| sl_xwoba | 0.308 |
| sl_xba | 0.289 |
| sl_xslg | 0.379 |
| sl_sweet_spot_percent | 39.9 |
| sl_barrel_batted_rate | 0.6 |
| sl_hard_hit_percent | 22.8 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 8.4 |
| sl_swing_percent | 50.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.240 | 0.000 | 0.000 | Hitting_2B | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 4.300 | 4.000 | 4.000 | Hitting_AB | 3.923 | 4.000 | 0.077 | 0.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.256 | 0.250 | -0.256 | -0.250 |
| predicted_BB | 0.220 | 0.000 | 0.000 | Hitting_BB | 0.224 | 1.000 | -0.224 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.040 | 0.000 | 1.000 | Hitting_H | 1.005 | 1.000 | -1.005 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.295 | 0.000 | 0.250 | Hitting_OBP | 0.292 | 0.400 | -0.292 | -0.400 |
| predicted_R | 0.460 | 0.000 | 0.000 | Hitting_R | 0.497 | 0.000 | -0.497 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.568 | 0.000 | -0.568 | 0.000 |
| predicted_SLG | 0.442 | 0.000 | 0.250 | Hitting_SLG | 0.432 | 0.250 | -0.432 | -0.250 |
| predicted_SO | 1.040 | 2.000 | 1.000 | Hitting_SO | 1.191 | 2.000 | 0.809 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 0 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.0400 -> 2.0000 (boost 0.9600, worse) |
| Biggest Deboost | predicted_H: 1.0400 -> 0.0000 (deboost -1.0400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 2 | 1 | predicted_SLG: 0.4420 -> 0.4480 (boost 0.0060, better) | predicted_AB: 4.3000 -> 4.0928 (deboost -0.2072, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2935 -> 0.2810 (deboost -0.0125, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 0.4446 -> 0.0000 (deboost -0.4446, worse) | AB rounded to 4 (raw=4.30), rates preserved: AVG=0.230 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4676 -> 0.0000 (deboost -0.4676, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2413 -> 0.2500 (boost 0.0087, better) | predicted_SLG: 0.4388 -> 0.2500 (deboost -0.1888, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4388 (boost 0.1888, better) | predicted_AVG: 0.2500 -> 0.2413 (deboost -0.0087, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671218",
"player_name": "Heliot Ramos",
"position": "RF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.24,
"predicted_3B": 0.04,
"predicted_AB": 4.3,
"predicted_AVG": 0.241,
"predicted_BB": 0.22,
"predicted_H": 1.04,
"predicted_HR": 0.17,
"predicted_OBP": 0.295,
"predicted_R": 0.46,
"predicted_RBI": 0.47,
"predicted_SLG": 0.442,
"predicted_SO": 1.04
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2239,
"predicted_3B": 0.054,
"predicted_AB": 4.0928,
"predicted_AVG": 0.2433,
"predicted_BB": 0.227,
"predicted_H": 0.9972,
"predicted_HBP": 0.004,
"predicted_HR": 0.1614,
"predicted_OBP": 0.2935,
"predicted_R": 0.4748,
"predicted_RBI": 0.4515,
"predicted_SLG": 0.448,
"predicted_SO": 0.9815
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.2239,
"delta": -0.0161,
"percent_delta": -0.0671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.054,
"delta": 0.014,
"percent_delta": 0.35,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3,
"after": 4.0928,
"delta": -0.2072,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2433,
"delta": 0.0023,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.227,
"delta": 0.007,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.9972,
"delta": -0.0428,
"percent_delta": -0.0412,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1614,
"delta": -0.0086,
"percent_delta": -0.0506,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2935,
"delta": -0.0015,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.46,
"after": 0.4748,
"delta": 0.0148,
"percent_delta": 0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4515,
"delta": -0.0185,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.448,
"delta": 0.006,
"percent_delta": 0.0136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.04,
"after": 0.9815,
"delta": -0.0585,
"percent_delta": -0.0562,
"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_SLG",
"before": 0.442,
"after": 0.448,
"delta": 0.006,
"percent_delta": 0.0136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.3,
"after": 4.0928,
"delta": -0.2072,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2239,
"predicted_3B": 0.054,
"predicted_AB": 4.0928,
"predicted_AVG": 0.2413,
"predicted_BB": 0.2263,
"predicted_H": 0.9874,
"predicted_HBP": 0.004,
"predicted_HR": 0.1589,
"predicted_OBP": 0.281,
"predicted_R": 0.4676,
"predicted_RBI": 0.4446,
"predicted_SLG": 0.4388,
"predicted_SO": 0.9845
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2239,
"after": 0.2239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.054,
"after": 0.054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0928,
"after": 4.0928,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2433,
"after": 0.2413,
"delta": -0.002,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.2263,
"delta": -0.0007,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9972,
"after": 0.9874,
"delta": -0.0098,
"percent_delta": -0.0098,
"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.1614,
"after": 0.1589,
"delta": -0.0025,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2935,
"after": 0.281,
"delta": -0.0125,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4748,
"after": 0.4676,
"delta": -0.0072,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4515,
"after": 0.4446,
"delta": -0.0069,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4388,
"delta": -0.0092,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9815,
"after": 0.9845,
"delta": 0.003,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2935,
"after": 0.281,
"delta": -0.0125,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.30), rates preserved: AVG=0.230 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.2239,
"after": 0.0,
"delta": -0.2239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0928,
"after": 4.0,
"delta": -0.0928,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2263,
"after": 0.0,
"delta": -0.2263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9874,
"after": 1.0,
"delta": 0.0126,
"percent_delta": 0.0128,
"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.1589,
"after": 0.0,
"delta": -0.1589,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4446,
"after": 0.0,
"delta": -0.4446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9845,
"after": 1.0,
"delta": 0.0155,
"percent_delta": 0.0157,
"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.4446,
"after": 0.0,
"delta": -0.4446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4676,
"after": 0.0,
"delta": -0.4676,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4676,
"after": 0.0,
"delta": -0.4676,
"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.2413,
"after": 0.25,
"delta": 0.0087,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.25,
"delta": -0.031,
"percent_delta": -0.1103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4388,
"after": 0.25,
"delta": -0.1888,
"percent_delta": -0.4303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2413,
"after": 0.25,
"delta": 0.0087,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4388,
"after": 0.25,
"delta": -0.1888,
"percent_delta": -0.4303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2413,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.281,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4388,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2413,
"delta": -0.0087,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.281,
"delta": 0.031,
"percent_delta": 0.1241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4388,
"delta": 0.1888,
"percent_delta": 0.7552,
"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.4388,
"delta": 0.1888,
"percent_delta": 0.7552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2413,
"delta": -0.0087,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3,
"after": 4.0,
"delta": -0.3,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2413,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"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.295,
"after": 0.281,
"delta": -0.014,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4388,
"delta": -0.0032,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.240 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 4.300 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.220 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.460 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 1.040 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.224 | -0.016 |
| predicted_3B | 0.054 | 0.014 |
| predicted_AB | 4.093 | -0.207 |
| predicted_AVG | 0.243 | 0.002 |
| predicted_BB | 0.227 | 0.007 |
| predicted_H | 0.997 | -0.043 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.161 | -0.009 |
| predicted_OBP | 0.293 | -0.002 |
| predicted_R | 0.475 | 0.015 |
| predicted_RBI | 0.452 | -0.018 |
| predicted_SLG | 0.448 | 0.006 |
| predicted_SO | 0.982 | -0.058 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.224 | 0.000 |
| predicted_3B | 0.054 | 0.000 |
| predicted_AB | 4.093 | 0.000 |
| predicted_AVG | 0.241 | -0.002 |
| predicted_BB | 0.226 | -0.001 |
| predicted_H | 0.987 | -0.010 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.159 | -0.002 |
| predicted_OBP | 0.281 | -0.012 |
| predicted_R | 0.468 | -0.007 |
| predicted_RBI | 0.445 | -0.007 |
| predicted_SLG | 0.439 | -0.009 |
| predicted_SO | 0.985 | 0.003 |
AB rounded to 4 (raw=4.30), rates preserved: AVG=0.230 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.224 |
| predicted_3B | 0.000 | -0.054 |
| predicted_AB | 4.000 | -0.093 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.000 | -0.226 |
| predicted_H | 1.000 | 0.013 |
| predicted_HR | 0.000 | -0.159 |
| predicted_OBP | 0.250 | -0.031 |
| predicted_R | 0.000 | -0.468 |
| predicted_RBI | 0.000 | -0.445 |
| predicted_SLG | 0.250 | -0.189 |
| predicted_SO | 1.000 | 0.015 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 | 5.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.2500 | 0.2857 | 0.5500 | 0.2500 | 0.0500 | 0.1000 | 0.0500 | 0.2000 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 1.000 | 1.000 | 2.000 | 3.000 | 5.000 | 3.000 | 6.000 | 0.2162 | 0.2750 | 0.4595 | 0.2162 | 0.0541 | 0.0811 | 0.0811 | 0.1622 |
| season | 0.60 | 50 | - | 188.000 | 48.000 | 12.000 | 2.000 | 6.000 | 23.000 | 23.000 | 11.000 | 52.000 | 0.2553 | 0.2950 | 0.4362 | 0.2553 | 0.0319 | 0.1223 | 0.0585 | 0.2766 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0740 |
| predicted_AB | 3.7970 |
| predicted_AVG | 0.2466 |
| predicted_BB | 0.2370 |
| predicted_H | 0.9360 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1490 |
| predicted_OBP | 0.2914 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.4250 |
| predicted_SLG | 0.4566 |
| predicted_SO | 0.8980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2400 | 0.2010 | 0.2239 | model_form_blend |
| predicted_3B | 0.0400 | 0.0740 | 0.0540 | model_form_blend |
| predicted_AB | 4.3000 | 3.7970 | 4.0928 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2466 | 0.2433 | model_form_blend |
| predicted_BB | 0.2200 | 0.2370 | 0.2270 | model_form_blend |
| predicted_H | 1.0400 | 0.9360 | 0.9972 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1700 | 0.1490 | 0.1614 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2914 | 0.2935 | model_form_blend |
| predicted_R | 0.4600 | 0.4960 | 0.4748 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4250 | 0.4515 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4566 | 0.4480 | model_form_blend |
| predicted_SO | 1.0400 | 0.8980 | 0.9815 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 183 |
| Season rows before report date | 183 |
| Report year | 2026 |
| Profile rows used | 50 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.255 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 671218 |
| playerID | 671218 |
| playerName | Heliot Ramos |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.325 |
| sl_xwoba | 0.341 |
| sl_xba | 0.279 |
| sl_xslg | 0.476 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 50.4 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 6.9 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 53.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_3B | 0.037 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.900 | 4.000 | 4.000 | Hitting_AB | 3.907 | 5.000 | 0.093 | -1.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.299 | 0.200 | -0.299 | -0.200 |
| predicted_BB | 0.163 | 0.000 | 0.000 | Hitting_BB | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.167 | 1.000 | -1.167 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.298 | 0.000 | 0.250 | Hitting_OBP | 0.340 | 0.200 | -0.340 | -0.200 |
| predicted_R | 0.562 | 0.000 | 1.000 | Hitting_R | 0.515 | 0.000 | -0.515 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_SLG | 0.389 | 0.000 | 0.250 | Hitting_SLG | 0.424 | 0.200 | -0.424 | -0.200 |
| predicted_SO | 0.350 | 2.000 | 0.000 | Hitting_SO | 0.405 | 0.000 | 1.595 | 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.3500 -> 2.0000 (boost 1.6500, worse) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2560 -> 0.2634 (boost 0.0074, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2969 -> 0.2870 (deboost -0.0099, 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.8885 -> 4.0000 (boost 0.1115, better) | predicted_RBI: 0.4440 -> 0.0000 (deboost -0.4440, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.260 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5639 -> 1.0000 (boost 0.4361, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3863 -> 0.2500 (deboost -0.1363, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3863 (boost 0.1363, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"position": "CF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.037,
"predicted_AB": 3.9,
"predicted_AVG": 0.256,
"predicted_BB": 0.163,
"predicted_H": 1.0,
"predicted_HR": 0.07,
"predicted_OBP": 0.298,
"predicted_R": 0.562,
"predicted_RBI": 0.45,
"predicted_SLG": 0.389,
"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.2321,
"predicted_3B": 0.0387,
"predicted_AB": 3.8885,
"predicted_AVG": 0.2634,
"predicted_BB": 0.1422,
"predicted_H": 1.0251,
"predicted_HBP": 0.024,
"predicted_HR": 0.0602,
"predicted_OBP": 0.2969,
"predicted_R": 0.5726,
"predicted_RBI": 0.4509,
"predicted_SLG": 0.387,
"predicted_SO": 0.3619
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2321,
"delta": -0.0179,
"percent_delta": -0.0716,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.0387,
"delta": 0.0017,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 3.8885,
"delta": -0.0115,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2634,
"delta": 0.0074,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 0.1422,
"delta": -0.0208,
"percent_delta": -0.1276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0251,
"delta": 0.0251,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0602,
"delta": -0.0098,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2969,
"delta": -0.0011,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 0.5726,
"delta": 0.0106,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4509,
"delta": 0.0009,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.387,
"delta": -0.002,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.35,
"after": 0.3619,
"delta": 0.0119,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2634,
"delta": 0.0074,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2321,
"predicted_3B": 0.0387,
"predicted_AB": 3.8885,
"predicted_AVG": 0.261,
"predicted_BB": 0.1418,
"predicted_H": 1.0151,
"predicted_HBP": 0.024,
"predicted_HR": 0.0593,
"predicted_OBP": 0.287,
"predicted_R": 0.5639,
"predicted_RBI": 0.444,
"predicted_SLG": 0.3863,
"predicted_SO": 0.363
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2321,
"after": 0.2321,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0387,
"after": 0.0387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8885,
"after": 3.8885,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2634,
"after": 0.261,
"delta": -0.0024,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1422,
"after": 0.1418,
"delta": -0.0004,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0251,
"after": 1.0151,
"delta": -0.01,
"percent_delta": -0.0098,
"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.0602,
"after": 0.0593,
"delta": -0.0009,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2969,
"after": 0.287,
"delta": -0.0099,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5726,
"after": 0.5639,
"delta": -0.0087,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4509,
"after": 0.444,
"delta": -0.0069,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3863,
"delta": -0.0007,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.3619,
"after": 0.363,
"delta": 0.0011,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2969,
"after": 0.287,
"delta": -0.0099,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.260 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2321,
"after": 0.0,
"delta": -0.2321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0387,
"after": 0.0,
"delta": -0.0387,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8885,
"after": 4.0,
"delta": 0.1115,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1418,
"after": 0.0,
"delta": -0.1418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0151,
"after": 1.0,
"delta": -0.0151,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0593,
"after": 0.0,
"delta": -0.0593,
"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.363,
"after": 0.0,
"delta": -0.363,
"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_AB",
"before": 3.8885,
"after": 4.0,
"delta": 0.1115,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 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.5639,
"after": 1.0,
"delta": 0.4361,
"percent_delta": 0.7734,
"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.5639,
"after": 1.0,
"delta": 0.4361,
"percent_delta": 0.7734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.261,
"after": 0.25,
"delta": -0.011,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3863,
"after": 0.25,
"delta": -0.1363,
"percent_delta": -0.3528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3863,
"after": 0.25,
"delta": -0.1363,
"percent_delta": -0.3528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.261,
"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.287,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3863,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.261,
"delta": 0.011,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3863,
"delta": 0.1363,
"percent_delta": 0.5454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3863,
"delta": 0.1363,
"percent_delta": 0.5454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.261,
"delta": 0.005,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.287,
"delta": -0.011,
"percent_delta": -0.0369,
"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.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3863,
"delta": -0.0027,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.037 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.163 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.562 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.389 | - |
| 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.232 | -0.018 |
| predicted_3B | 0.039 | 0.002 |
| predicted_AB | 3.889 | -0.011 |
| predicted_AVG | 0.263 | 0.007 |
| predicted_BB | 0.142 | -0.021 |
| predicted_H | 1.025 | 0.025 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.060 | -0.010 |
| predicted_OBP | 0.297 | -0.001 |
| predicted_R | 0.573 | 0.011 |
| predicted_RBI | 0.451 | 0.001 |
| predicted_SLG | 0.387 | -0.002 |
| predicted_SO | 0.362 | 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.232 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 3.889 | 0.000 |
| predicted_AVG | 0.261 | -0.002 |
| predicted_BB | 0.142 | -0.000 |
| predicted_H | 1.015 | -0.010 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.287 | -0.010 |
| predicted_R | 0.564 | -0.009 |
| predicted_RBI | 0.444 | -0.007 |
| predicted_SLG | 0.386 | -0.001 |
| predicted_SO | 0.363 | 0.001 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.260 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.232 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 4.000 | 0.111 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.142 |
| predicted_H | 1.000 | -0.015 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.250 | -0.037 |
| predicted_R | 1.000 | 0.436 |
| predicted_RBI | 0.000 | -0.444 |
| predicted_SLG | 0.250 | -0.136 |
| predicted_SO | 0.000 | -0.363 |
Attached simulation box 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 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.000 | 1.000 | 0.2381 | 0.2381 | 0.2857 | 0.2381 | 0.0000 | 0.0952 | 0.0000 | 0.0476 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 1.000 | 1.000 | 0.000 | 6.000 | 5.000 | 0.000 | 4.000 | 0.1842 | 0.1842 | 0.2632 | 0.1842 | 0.0000 | 0.1579 | 0.0000 | 0.1053 |
| season | 0.60 | 80 | - | 304.000 | 97.000 | 20.000 | 3.000 | 5.000 | 33.000 | 45.000 | 13.000 | 28.000 | 0.3191 | 0.3498 | 0.4539 | 0.3191 | 0.0164 | 0.1085 | 0.0428 | 0.0921 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2080 |
| predicted_3B | 0.0410 |
| predicted_AB | 3.8730 |
| predicted_AVG | 0.2735 |
| predicted_BB | 0.1140 |
| predicted_H | 1.0590 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0470 |
| predicted_OBP | 0.2953 |
| predicted_R | 0.5870 |
| predicted_RBI | 0.4520 |
| predicted_SLG | 0.3844 |
| predicted_SO | 0.3780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2080 | 0.2321 | model_form_blend |
| predicted_3B | 0.0370 | 0.0410 | 0.0387 | model_form_blend |
| predicted_AB | 3.9000 | 3.8730 | 3.8885 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2735 | 0.2634 | model_form_blend |
| predicted_BB | 0.1630 | 0.1140 | 0.1422 | model_form_blend |
| predicted_H | 1.0000 | 1.0590 | 1.0251 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0700 | 0.0470 | 0.0602 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2953 | 0.2969 | model_form_blend |
| predicted_R | 0.5620 | 0.5870 | 0.5726 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4520 | 0.4509 | model_form_blend |
| predicted_SLG | 0.3890 | 0.3844 | 0.3870 | model_form_blend |
| predicted_SO | 0.3500 | 0.3780 | 0.3619 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 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.319 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260705_SF@COL |
| game_type | full |
| mlbID | 808982 |
| playerID | 808982 |
| playerName | Jung Hoo Lee |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 9.2 |
| sl_bb_percent | 4.0 |
| sl_woba | 0.345 |
| sl_xwoba | 0.318 |
| sl_xba | 0.298 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 28.8 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 12.3 |
| sl_swing_percent | 46.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 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.438 | 2.000 | 4.000 | Hitting_AB | 3.373 | 3.000 | -1.373 | -1.000 |
| predicted_AVG | 0.251 | 0.000 | 0.250 | Hitting_AVG | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_BB | 0.521 | 1.000 | 1.000 | Hitting_BB | 0.458 | 1.000 | 0.542 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.807 | 0.000 | -0.807 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_OBP | 0.324 | 0.333 | 0.400 | Hitting_OBP | 0.329 | 0.250 | 0.004 | 0.083 |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_SLG | 0.428 | 0.000 | 0.250 | Hitting_SLG | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_SO | 0.937 | 0.000 | 1.000 | Hitting_SO | 0.952 | 2.000 | -0.952 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.5210 -> 1.0000 (boost 0.4790, better) |
| Biggest Deboost | predicted_AB: 3.4380 -> 2.0000 (deboost -1.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 | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.4380 -> 3.5164 (boost 0.0784, better) | - | Final model input calibrated with local 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.3273 -> 0.3369 (boost 0.0096, better) | predicted_AVG: 0.2507 -> 0.2444 (deboost -0.0063, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_BB: 0.4904 -> 1.0000 (boost 0.5096, better) | predicted_RBI: 0.4143 -> 0.0000 (deboost -0.4143, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.244 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4674 -> 0.0000 (deboost -0.4674, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3369 -> 0.4000 (boost 0.0631, better) | predicted_SLG: 0.4298 -> 0.2500 (deboost -0.1798, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4298 (boost 0.1798, better) | predicted_OBP: 0.4000 -> 0.3369 (deboost -0.0631, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "1B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.0,
"predicted_AB": 3.438,
"predicted_AVG": 0.251,
"predicted_BB": 0.521,
"predicted_H": 0.84,
"predicted_HR": 0.13,
"predicted_OBP": 0.324,
"predicted_R": 0.5,
"predicted_RBI": 0.41,
"predicted_SLG": 0.428,
"predicted_SO": 0.937
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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": 3.5164,
"predicted_AVG": 0.2507,
"predicted_BB": 0.4919,
"predicted_H": 0.8679,
"predicted_HBP": 0.004,
"predicted_HR": 0.1366,
"predicted_OBP": 0.3273,
"predicted_R": 0.4746,
"predicted_RBI": 0.4207,
"predicted_SLG": 0.4323,
"predicted_SO": 1.0018
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2471,
"delta": -0.0029,
"percent_delta": -0.0116,
"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.438,
"after": 3.5164,
"delta": 0.0784,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2507,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.521,
"after": 0.4919,
"delta": -0.0291,
"percent_delta": -0.0559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8679,
"delta": 0.0279,
"percent_delta": 0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1366,
"delta": 0.0066,
"percent_delta": 0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3273,
"delta": 0.0033,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4746,
"delta": -0.0254,
"percent_delta": -0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4207,
"delta": 0.0107,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4323,
"delta": 0.0043,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.937,
"after": 1.0018,
"delta": 0.0648,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.438,
"after": 3.5164,
"delta": 0.0784,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2471,
"predicted_3B": 0.0008,
"predicted_AB": 3.5164,
"predicted_AVG": 0.2444,
"predicted_BB": 0.4904,
"predicted_H": 0.8594,
"predicted_HBP": 0.004,
"predicted_HR": 0.1345,
"predicted_OBP": 0.3369,
"predicted_R": 0.4674,
"predicted_RBI": 0.4143,
"predicted_SLG": 0.4298,
"predicted_SO": 1.0049
},
"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": 3.5164,
"after": 3.5164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.2444,
"delta": -0.0063,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4919,
"after": 0.4904,
"delta": -0.0015,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8679,
"after": 0.8594,
"delta": -0.0085,
"percent_delta": -0.0098,
"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.1366,
"after": 0.1345,
"delta": -0.0021,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3273,
"after": 0.3369,
"delta": 0.0096,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4746,
"after": 0.4674,
"delta": -0.0072,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4207,
"after": 0.4143,
"delta": -0.0064,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4323,
"after": 0.4298,
"delta": -0.0025,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0018,
"after": 1.0049,
"delta": 0.0031,
"percent_delta": 0.0031,
"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.3273,
"after": 0.3369,
"delta": 0.0096,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.2444,
"delta": -0.0063,
"percent_delta": -0.0251,
"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.244 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.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": 3.5164,
"after": 4.0,
"delta": 0.4836,
"percent_delta": 0.1375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4904,
"after": 1.0,
"delta": 0.5096,
"percent_delta": 1.0392,
"direction": "boost",
"projection_effect": "better",
"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.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1345,
"after": 0.0,
"delta": -0.1345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4143,
"after": 0.0,
"delta": -0.4143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0049,
"after": 1.0,
"delta": -0.0049,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4904,
"after": 1.0,
"delta": 0.5096,
"percent_delta": 1.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4143,
"after": 0.0,
"delta": -0.4143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4674,
"after": 0.0,
"delta": -0.4674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.4674,
"after": 0.0,
"delta": -0.4674,
"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.2444,
"after": 0.25,
"delta": 0.0056,
"percent_delta": 0.0229,
"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.3369,
"after": 0.4,
"delta": 0.0631,
"percent_delta": 0.1873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4298,
"after": 0.25,
"delta": -0.1798,
"percent_delta": -0.4183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3369,
"after": 0.4,
"delta": 0.0631,
"percent_delta": 0.1873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4298,
"after": 0.25,
"delta": -0.1798,
"percent_delta": -0.4183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 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.2444,
"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.3369,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4298,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2444,
"delta": -0.0056,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3369,
"delta": -0.0631,
"percent_delta": -0.1578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4298,
"delta": 0.1798,
"percent_delta": 0.7193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4298,
"delta": 0.1798,
"percent_delta": 0.7193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3369,
"delta": -0.0631,
"percent_delta": -0.1578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.438,
"after": 2.0,
"delta": -1.438,
"percent_delta": -0.4183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2444,
"delta": -0.0066,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.521,
"after": 1.0,
"delta": 0.479,
"percent_delta": 0.9194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3369,
"delta": 0.0129,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4298,
"delta": 0.0018,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.937,
"after": 0.0,
"delta": -0.937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.521,
"after": 1.0,
"delta": 0.479,
"percent_delta": 0.9194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.438,
"after": 2.0,
"delta": -1.438,
"percent_delta": -0.4183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.438 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.521 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.428 | - |
| predicted_SO | 0.937 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.516 | 0.078 |
| predicted_AVG | 0.251 | -0.000 |
| predicted_BB | 0.492 | -0.029 |
| predicted_H | 0.868 | 0.028 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.137 | 0.007 |
| predicted_OBP | 0.327 | 0.003 |
| predicted_R | 0.475 | -0.025 |
| predicted_RBI | 0.421 | 0.011 |
| predicted_SLG | 0.432 | 0.004 |
| predicted_SO | 1.002 | 0.065 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.516 | 0.000 |
| predicted_AVG | 0.244 | -0.006 |
| predicted_BB | 0.490 | -0.002 |
| predicted_H | 0.859 | -0.008 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.135 | -0.002 |
| predicted_OBP | 0.337 | 0.010 |
| predicted_R | 0.467 | -0.007 |
| predicted_RBI | 0.414 | -0.006 |
| predicted_SLG | 0.430 | -0.003 |
| predicted_SO | 1.005 | 0.003 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.244 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 | 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.247 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.484 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 1.000 | 0.510 |
| predicted_H | 1.000 | 0.141 |
| predicted_HR | 0.000 | -0.135 |
| predicted_OBP | 0.400 | 0.063 |
| predicted_R | 0.000 | -0.467 |
| predicted_RBI | 0.000 | -0.414 |
| predicted_SLG | 0.250 | -0.180 |
| predicted_SO | 1.000 | -0.005 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 8.000 | 0.2000 | 0.2727 | 0.4000 | 0.2000 | 0.0500 | 0.1500 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 3.000 | 0.000 | 1.000 | 3.000 | 4.000 | 4.000 | 13.000 | 0.2162 | 0.2927 | 0.3784 | 0.2162 | 0.0270 | 0.0811 | 0.1081 | 0.3513 |
| season | 0.60 | 48 | - | 165.000 | 46.000 | 12.000 | 0.000 | 7.000 | 20.000 | 24.000 | 25.000 | 45.000 | 0.2788 | 0.3717 | 0.4788 | 0.2788 | 0.0424 | 0.1212 | 0.1515 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2430 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6290 |
| predicted_AVG | 0.2502 |
| predicted_BB | 0.4500 |
| predicted_H | 0.9080 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1460 |
| predicted_OBP | 0.3320 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.4360 |
| predicted_SLG | 0.4384 |
| predicted_SO | 1.0950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2430 | 0.2471 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4380 | 3.6290 | 3.5164 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2502 | 0.2507 | model_form_blend |
| predicted_BB | 0.5210 | 0.4500 | 0.4919 | model_form_blend |
| predicted_H | 0.8400 | 0.9080 | 0.8679 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1300 | 0.1460 | 0.1366 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3320 | 0.3273 | model_form_blend |
| predicted_R | 0.5000 | 0.4380 | 0.4746 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4360 | 0.4207 | model_form_blend |
| predicted_SLG | 0.4280 | 0.4384 | 0.4323 | model_form_blend |
| predicted_SO | 0.9370 | 1.0950 | 1.0018 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 83 |
| Season rows before report date | 83 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.279 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 805811 |
| playerID | 805811 |
| playerName | Bryce Eldridge |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.365 |
| sl_xwoba | 0.37 |
| sl_xba | 0.267 |
| sl_xslg | 0.502 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 54.2 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 43.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.980 | 4.000 | 4.000 | Hitting_AB | 4.146 | 4.000 | -0.146 | 0.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.250 | 0.250 | -0.250 | -0.250 |
| predicted_BB | 0.238 | 0.000 | 0.000 | Hitting_BB | 0.195 | 1.000 | -0.195 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 1.034 | 1.000 | -1.034 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.307 | 0.000 | 0.250 | Hitting_OBP | 0.286 | 0.400 | -0.286 | -0.400 |
| predicted_R | 0.512 | 0.000 | 1.000 | Hitting_R | 0.529 | 2.000 | -0.529 | -2.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_SLG | 0.405 | 0.000 | 0.250 | Hitting_SLG | 0.436 | 0.250 | -0.436 | -0.250 |
| predicted_SO | 1.202 | 1.000 | 1.000 | Hitting_SO | 1.218 | 3.000 | -0.218 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.2020 -> 1.2823 (boost 0.0803, worse) | predicted_AB: 3.9800 -> 3.9019 (deboost -0.0781, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3070 -> 0.2897 (deboost -0.0173, 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.9019 -> 4.0000 (boost 0.0981, better) | predicted_RBI: 0.3958 -> 0.0000 (deboost -0.3958, worse) | AB rounded to 4 (raw=3.98), rates preserved: AVG=0.237 HR/AB=0.030 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5185 -> 1.0000 (boost 0.4815, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2414 -> 0.2500 (boost 0.0086, better) | predicted_SLG: 0.4007 -> 0.2500 (deboost -0.1507, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4007 (boost 0.1507, better) | predicted_AVG: 0.2500 -> 0.2414 (deboost -0.0086, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642715",
"player_name": "Willy Adames",
"position": "SS",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.012,
"predicted_AB": 3.98,
"predicted_AVG": 0.239,
"predicted_BB": 0.238,
"predicted_H": 0.95,
"predicted_HR": 0.12,
"predicted_OBP": 0.307,
"predicted_R": 0.512,
"predicted_RBI": 0.41,
"predicted_SLG": 0.405,
"predicted_SO": 1.202
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2479,
"predicted_3B": 0.0103,
"predicted_AB": 3.9019,
"predicted_AVG": 0.2441,
"predicted_BB": 0.2662,
"predicted_H": 0.9513,
"predicted_HBP": 0.009,
"predicted_HR": 0.1196,
"predicted_OBP": 0.307,
"predicted_R": 0.5265,
"predicted_RBI": 0.4019,
"predicted_SLG": 0.4086,
"predicted_SO": 1.2823
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2479,
"delta": -0.0021,
"percent_delta": -0.0084,
"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.98,
"after": 3.9019,
"delta": -0.0781,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2441,
"delta": 0.0051,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.2662,
"delta": 0.0282,
"percent_delta": 0.1185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9513,
"delta": 0.0013,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1196,
"delta": -0.0004,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.5265,
"delta": 0.0145,
"percent_delta": 0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4019,
"delta": -0.0081,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4086,
"delta": 0.0036,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.202,
"after": 1.2823,
"delta": 0.0803,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.202,
"after": 1.2823,
"delta": 0.0803,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 3.9019,
"delta": -0.0781,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.2479,
"predicted_3B": 0.0103,
"predicted_AB": 3.9019,
"predicted_AVG": 0.2414,
"predicted_BB": 0.2654,
"predicted_H": 0.942,
"predicted_HBP": 0.009,
"predicted_HR": 0.1177,
"predicted_OBP": 0.2897,
"predicted_R": 0.5185,
"predicted_RBI": 0.3958,
"predicted_SLG": 0.4007,
"predicted_SO": 1.2863
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2479,
"after": 0.2479,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9019,
"after": 3.9019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2441,
"after": 0.2414,
"delta": -0.0027,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2662,
"after": 0.2654,
"delta": -0.0008,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9513,
"after": 0.942,
"delta": -0.0093,
"percent_delta": -0.0098,
"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.1196,
"after": 0.1177,
"delta": -0.0019,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2897,
"delta": -0.0173,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5265,
"after": 0.5185,
"delta": -0.008,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4019,
"after": 0.3958,
"delta": -0.0061,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4086,
"after": 0.4007,
"delta": -0.0079,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2823,
"after": 1.2863,
"delta": 0.004,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2897,
"delta": -0.0173,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.98), rates preserved: AVG=0.237 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.2479,
"after": 0.0,
"delta": -0.2479,
"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.9019,
"after": 4.0,
"delta": 0.0981,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2654,
"after": 0.0,
"delta": -0.2654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.942,
"after": 1.0,
"delta": 0.058,
"percent_delta": 0.0616,
"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.1177,
"after": 0.0,
"delta": -0.1177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3958,
"after": 0.0,
"delta": -0.3958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2863,
"after": 1.0,
"delta": -0.2863,
"percent_delta": -0.2226,
"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.9019,
"after": 4.0,
"delta": 0.0981,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3958,
"after": 0.0,
"delta": -0.3958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5185,
"after": 1.0,
"delta": 0.4815,
"percent_delta": 0.9286,
"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.5185,
"after": 1.0,
"delta": 0.4815,
"percent_delta": 0.9286,
"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.2414,
"after": 0.25,
"delta": 0.0086,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2897,
"after": 0.25,
"delta": -0.0397,
"percent_delta": -0.137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4007,
"after": 0.25,
"delta": -0.1507,
"percent_delta": -0.3761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2414,
"after": 0.25,
"delta": 0.0086,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4007,
"after": 0.25,
"delta": -0.1507,
"percent_delta": -0.3761,
"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.2414,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2897,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4007,
"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.2414,
"delta": -0.0086,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2897,
"delta": 0.0397,
"percent_delta": 0.1589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4007,
"delta": 0.1507,
"percent_delta": 0.603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4007,
"delta": 0.1507,
"percent_delta": 0.603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2414,
"delta": -0.0086,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "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.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 4.0,
"delta": 0.02,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2414,
"delta": 0.0024,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2897,
"delta": -0.0173,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4007,
"delta": -0.0043,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.202,
"after": 1.0,
"delta": -0.202,
"percent_delta": -0.1681,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 0,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.980 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.238 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.512 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 1.202 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.002 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.902 | -0.078 |
| predicted_AVG | 0.244 | 0.005 |
| predicted_BB | 0.266 | 0.028 |
| predicted_H | 0.951 | 0.001 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.120 | -0.000 |
| predicted_OBP | 0.307 | 0.000 |
| predicted_R | 0.526 | 0.014 |
| predicted_RBI | 0.402 | -0.008 |
| predicted_SLG | 0.409 | 0.004 |
| predicted_SO | 1.282 | 0.080 |
Step 3: 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.010 | 0.000 |
| predicted_AB | 3.902 | 0.000 |
| predicted_AVG | 0.241 | -0.003 |
| predicted_BB | 0.265 | -0.001 |
| predicted_H | 0.942 | -0.009 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.118 | -0.002 |
| predicted_OBP | 0.290 | -0.017 |
| predicted_R | 0.518 | -0.008 |
| predicted_RBI | 0.396 | -0.006 |
| predicted_SLG | 0.401 | -0.008 |
| predicted_SO | 1.286 | 0.004 |
AB rounded to 4 (raw=3.98), rates preserved: AVG=0.237 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=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.248 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.098 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.000 | -0.265 |
| predicted_H | 1.000 | 0.058 |
| predicted_HR | 0.000 | -0.118 |
| predicted_OBP | 0.250 | -0.040 |
| predicted_R | 1.000 | 0.482 |
| predicted_RBI | 0.000 | -0.396 |
| predicted_SLG | 0.250 | -0.151 |
| predicted_SO | 1.000 | -0.286 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 10.000 | 0.2778 | 0.3500 | 0.3333 | 0.2778 | 0.0000 | 0.1111 | 0.1111 | 0.5556 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 3.000 | 0.000 | 1.000 | 3.000 | 6.000 | 4.000 | 15.000 | 0.2778 | 0.3500 | 0.4444 | 0.2778 | 0.0278 | 0.0833 | 0.1111 | 0.4167 |
| season | 0.60 | 84 | - | 330.000 | 77.000 | 21.000 | 1.000 | 14.000 | 34.000 | 43.000 | 20.000 | 101.000 | 0.2333 | 0.2784 | 0.4303 | 0.2333 | 0.0424 | 0.1030 | 0.0606 | 0.3061 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2450 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7970 |
| predicted_AVG | 0.2509 |
| predicted_BB | 0.3040 |
| predicted_H | 0.9530 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.3070 |
| predicted_R | 0.5460 |
| predicted_RBI | 0.3910 |
| predicted_SLG | 0.4134 |
| predicted_SO | 1.3900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2450 | 0.2479 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.9800 | 3.7970 | 3.9019 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2509 | 0.2441 | model_form_blend |
| predicted_BB | 0.2380 | 0.3040 | 0.2662 | model_form_blend |
| predicted_H | 0.9500 | 0.9530 | 0.9513 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1200 | 0.1190 | 0.1196 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3070 | 0.3070 | model_form_blend |
| predicted_R | 0.5120 | 0.5460 | 0.5265 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3910 | 0.4019 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4134 | 0.4086 | model_form_blend |
| predicted_SO | 1.2020 | 1.3900 | 1.2823 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.233 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| 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 | SS |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 642715 |
| playerID | 642715 |
| playerName | Willy Adames |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 28.5 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.306 |
| sl_xwoba | 0.288 |
| sl_xba | 0.219 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 41.4 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 22.7 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 48.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 0.000 | 0.000 | Hitting_2B | 0.130 | 2.000 | -0.130 | -2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.611 | 3.000 | 3.000 | Hitting_AB | 2.217 | 4.000 | 0.783 | -1.000 |
| predicted_AVG | 0.283 | 0.000 | 0.333 | Hitting_AVG | 0.294 | 0.500 | -0.294 | -0.500 |
| predicted_BB | 0.056 | 0.000 | 0.000 | Hitting_BB | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_H | 0.240 | 0.000 | 1.000 | Hitting_H | 0.652 | 2.000 | -0.652 | -2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_OBP | 0.287 | 0.000 | 0.333 | Hitting_OBP | 0.308 | 0.500 | -0.308 | -0.500 |
| predicted_R | 0.278 | 0.000 | 0.000 | Hitting_R | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_SLG | 0.488 | 0.000 | 0.333 | Hitting_SLG | 0.588 | 1.000 | -0.588 | -1.000 |
| predicted_SO | 0.722 | 0.000 | 1.000 | Hitting_SO | 0.609 | 2.000 | -0.609 | -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: 2.6110 -> 3.0000 (boost 0.3890, better) |
| Biggest Deboost | predicted_SO: 0.7220 -> 0.0000 (deboost -0.7220, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.2400 -> 0.4840 (boost 0.2440, better) | - | Final model input calibrated with local form: 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.5116 -> 0.3446 (deboost -0.1670, 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.4793 -> 1.0000 (boost 0.5207, better) | predicted_RBI: 0.2319 -> 0.0000 (deboost -0.2319, worse) | AB rounded to 3 (raw=2.84), rates preserved: AVG=0.169 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3110 -> 0.0000 (deboost -0.3110, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1688 -> 0.3330 (boost 0.1642, better) | predicted_SLG: 0.3446 -> 0.3330 (deboost -0.0116, 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.3446 (boost 0.0116, better) | predicted_AVG: 0.3330 -> 0.1688 (deboost -0.1642, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682674",
"player_name": "Victor Bericoto",
"position": "LF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 2.611,
"predicted_AVG": 0.283,
"predicted_BB": 0.056,
"predicted_H": 0.24,
"predicted_HR": 0.05,
"predicted_OBP": 0.287,
"predicted_R": 0.278,
"predicted_RBI": 0.14,
"predicted_SLG": 0.488,
"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.1916,
"predicted_3B": 0.0017,
"predicted_AB": 2.8395,
"predicted_AVG": 0.2864,
"predicted_BB": 0.0803,
"predicted_H": 0.484,
"predicted_HBP": 0.011,
"predicted_HR": 0.103,
"predicted_OBP": 0.2992,
"predicted_R": 0.3158,
"predicted_RBI": 0.2355,
"predicted_SLG": 0.5116,
"predicted_SO": 0.75
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1916,
"delta": 0.0246,
"percent_delta": 0.1473,
"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.611,
"after": 2.8395,
"delta": 0.2285,
"percent_delta": 0.0875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2864,
"delta": 0.0034,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.056,
"after": 0.0803,
"delta": 0.0243,
"percent_delta": 0.4339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.484,
"delta": 0.244,
"percent_delta": 1.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.103,
"delta": 0.053,
"percent_delta": 1.06,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2992,
"delta": 0.0122,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 0.3158,
"delta": 0.0378,
"percent_delta": 0.136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.2355,
"delta": 0.0955,
"percent_delta": 0.6821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5116,
"delta": 0.0236,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 0.75,
"delta": 0.028,
"percent_delta": 0.0388,
"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.24,
"after": 0.484,
"delta": 0.244,
"percent_delta": 1.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1916,
"predicted_3B": 0.0017,
"predicted_AB": 2.8395,
"predicted_AVG": 0.1688,
"predicted_BB": 0.0801,
"predicted_H": 0.4793,
"predicted_HBP": 0.011,
"predicted_HR": 0.1014,
"predicted_OBP": 0.1916,
"predicted_R": 0.311,
"predicted_RBI": 0.2319,
"predicted_SLG": 0.3446,
"predicted_SO": 0.7523
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1916,
"after": 0.1916,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8395,
"after": 2.8395,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2864,
"after": 0.1688,
"delta": -0.1176,
"percent_delta": -0.4106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0803,
"after": 0.0801,
"delta": -0.0002,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.484,
"after": 0.4793,
"delta": -0.0047,
"percent_delta": -0.0097,
"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.103,
"after": 0.1014,
"delta": -0.0016,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2992,
"after": 0.1916,
"delta": -0.1076,
"percent_delta": -0.3596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3158,
"after": 0.311,
"delta": -0.0048,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2355,
"after": 0.2319,
"delta": -0.0036,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5116,
"after": 0.3446,
"delta": -0.167,
"percent_delta": -0.3264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.7523,
"delta": 0.0023,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5116,
"after": 0.3446,
"delta": -0.167,
"percent_delta": -0.3264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.84), rates preserved: AVG=0.169 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.1916,
"after": 0.0,
"delta": -0.1916,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8395,
"after": 3.0,
"delta": 0.1605,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0801,
"after": 0.0,
"delta": -0.0801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4793,
"after": 1.0,
"delta": 0.5207,
"percent_delta": 1.0864,
"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.1014,
"after": 0.0,
"delta": -0.1014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2319,
"after": 0.0,
"delta": -0.2319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7523,
"after": 1.0,
"delta": 0.2477,
"percent_delta": 0.3293,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4793,
"after": 1.0,
"delta": 0.5207,
"percent_delta": 1.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2319,
"after": 0.0,
"delta": -0.2319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.311,
"after": 0.0,
"delta": -0.311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.311,
"after": 0.0,
"delta": -0.311,
"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.1688,
"after": 0.333,
"delta": 0.1642,
"percent_delta": 0.9727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1916,
"after": 0.333,
"delta": 0.1414,
"percent_delta": 0.738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3446,
"after": 0.333,
"delta": -0.0116,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1688,
"after": 0.333,
"delta": 0.1642,
"percent_delta": 0.9727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3446,
"after": 0.333,
"delta": -0.0116,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.1688,
"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.1916,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3446,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1688,
"delta": -0.1642,
"percent_delta": -0.4931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1916,
"delta": -0.1414,
"percent_delta": -0.4247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3446,
"delta": 0.0116,
"percent_delta": 0.0347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3446,
"delta": 0.0116,
"percent_delta": 0.0347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1688,
"delta": -0.1642,
"percent_delta": -0.4931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.611,
"after": 3.0,
"delta": 0.389,
"percent_delta": 0.149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.1688,
"delta": -0.1142,
"percent_delta": -0.4035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.1916,
"delta": -0.0954,
"percent_delta": -0.3324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.3446,
"delta": -0.1434,
"percent_delta": -0.2939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 0.0,
"delta": -0.722,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.611,
"after": 3.0,
"delta": 0.389,
"percent_delta": 0.149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.722,
"after": 0.0,
"delta": -0.722,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.611 | - |
| predicted_AVG | 0.283 | - |
| predicted_BB | 0.056 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.278 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.488 | - |
| 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.192 | 0.025 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.840 | 0.228 |
| predicted_AVG | 0.286 | 0.003 |
| predicted_BB | 0.080 | 0.024 |
| predicted_H | 0.484 | 0.244 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.103 | 0.053 |
| predicted_OBP | 0.299 | 0.012 |
| predicted_R | 0.316 | 0.038 |
| predicted_RBI | 0.235 | 0.095 |
| predicted_SLG | 0.512 | 0.024 |
| predicted_SO | 0.750 | 0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.840 | 0.000 |
| predicted_AVG | 0.169 | -0.118 |
| predicted_BB | 0.080 | -0.000 |
| predicted_H | 0.479 | -0.005 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.101 | -0.002 |
| predicted_OBP | 0.192 | -0.108 |
| predicted_R | 0.311 | -0.005 |
| predicted_RBI | 0.232 | -0.004 |
| predicted_SLG | 0.345 | -0.167 |
| predicted_SO | 0.752 | 0.002 |
AB rounded to 3 (raw=2.84), rates preserved: AVG=0.169 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.192 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.160 |
| predicted_AVG | 0.333 | 0.164 |
| predicted_BB | 0.000 | -0.080 |
| predicted_H | 1.000 | 0.521 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.333 | 0.141 |
| predicted_R | 0.000 | -0.311 |
| predicted_RBI | 0.000 | -0.232 |
| predicted_SLG | 0.333 | -0.012 |
| predicted_SO | 1.000 | 0.248 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | - | 19.000 | 7.000 | 3.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 4.000 | 0.3684 | 0.3684 | 0.6842 | 0.3684 | 0.0526 | 0.1053 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 32.000 | 11.000 | 3.000 | 0.000 | 3.000 | 5.000 | 4.000 | 1.000 | 8.000 | 0.3438 | 0.3636 | 0.7188 | 0.3438 | 0.0938 | 0.1562 | 0.0312 | 0.2500 |
| season | 0.60 | 18 | - | 47.000 | 14.000 | 3.000 | 0.000 | 4.000 | 6.000 | 5.000 | 1.000 | 13.000 | 0.2979 | 0.3125 | 0.6170 | 0.2979 | 0.0851 | 0.1277 | 0.0213 | 0.2766 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2400 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2880 |
| predicted_AVG | 0.2930 |
| predicted_BB | 0.1280 |
| predicted_H | 0.9630 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2070 |
| predicted_OBP | 0.3232 |
| predicted_R | 0.3900 |
| predicted_RBI | 0.4230 |
| predicted_SLG | 0.5580 |
| predicted_SO | 0.8050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.2400 | 0.1916 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.6110 | 3.2880 | 2.8395 | model_form_blend |
| predicted_AVG | 0.2830 | 0.2930 | 0.2864 | model_form_blend |
| predicted_BB | 0.0560 | 0.1280 | 0.0803 | model_form_blend |
| predicted_H | 0.2400 | 0.9630 | 0.4840 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0500 | 0.2070 | 0.1030 | model_form_blend |
| predicted_OBP | 0.2870 | 0.3232 | 0.2992 | model_form_blend |
| predicted_R | 0.2780 | 0.3900 | 0.3158 | model_form_blend |
| predicted_RBI | 0.1400 | 0.4230 | 0.2355 | model_form_blend |
| predicted_SLG | 0.4880 | 0.5580 | 0.5116 | model_form_blend |
| predicted_SO | 0.7220 | 0.8050 | 0.7500 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 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 | 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.298 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | LF |
| gameID | 20260704_SF@COL |
| game_type | full |
| mlbID | 682674 |
| playerID | 682674 |
| playerName | Victor Bericoto |
| pos | RF |
| started | True |
| startingPosition | LF |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-04 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 2.1 |
| sl_woba | 0.394 |
| sl_xwoba | 0.298 |
| sl_xba | 0.214 |
| sl_xslg | 0.479 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 14.7 |
| sl_hard_hit_percent | 52.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 6.6 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 55.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.875 | 2.000 | 3.000 | Hitting_AB | 2.935 | 3.000 | -0.935 | -1.000 |
| predicted_AVG | 0.225 | 0.000 | 0.333 | Hitting_AVG | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_BB | 0.250 | 1.000 | 0.000 | Hitting_BB | 0.174 | 1.000 | 0.826 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.530 | 0.000 | 1.000 | Hitting_H | 0.696 | 0.000 | -0.696 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_OBP | 0.259 | 0.333 | 0.333 | Hitting_OBP | 0.285 | 0.400 | 0.049 | -0.067 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_SLG | 0.319 | 0.000 | 0.333 | Hitting_SLG | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_SO | 1.042 | 0.000 | 1.000 | Hitting_SO | 0.891 | 2.000 | -0.891 | -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_BB: 0.2500 -> 1.0000 (boost 0.7500, better) |
| Biggest Deboost | predicted_SO: 1.0420 -> 0.0000 (deboost -1.0420, 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: 2.8750 -> 2.9580 (boost 0.0830, better) | predicted_AVG: 0.2250 -> 0.1974 (deboost -0.0276, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.1974 -> 0.1694 (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_H: 0.5011 -> 1.0000 (boost 0.4989, better) | predicted_RBI: 0.2779 -> 0.0000 (deboost -0.2779, worse) | AB rounded to 3 (raw=2.96), rates preserved: AVG=0.169 HR/AB=0.032 |
| 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.3109 -> 0.0000 (deboost -0.3109, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1694 -> 0.3330 (boost 0.1636, 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 -> 1.0000 (boost 1.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.1694 (deboost -0.1636, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606992",
"player_name": "Eric Haase",
"position": "C",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 2.875,
"predicted_AVG": 0.225,
"predicted_BB": 0.25,
"predicted_H": 0.53,
"predicted_HR": 0.09,
"predicted_OBP": 0.259,
"predicted_R": 0.333,
"predicted_RBI": 0.28,
"predicted_SLG": 0.319,
"predicted_SO": 1.042
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1158,
"predicted_3B": 0.0015,
"predicted_AB": 2.958,
"predicted_AVG": 0.1974,
"predicted_BB": 0.2654,
"predicted_H": 0.5061,
"predicted_HBP": 0.076,
"predicted_HR": 0.0966,
"predicted_OBP": 0.2531,
"predicted_R": 0.3157,
"predicted_RBI": 0.2822,
"predicted_SLG": 0.3081,
"predicted_SO": 1.0883
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1158,
"delta": -0.0092,
"percent_delta": -0.0736,
"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": 2.875,
"after": 2.958,
"delta": 0.083,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.1974,
"delta": -0.0276,
"percent_delta": -0.1227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2654,
"delta": 0.0154,
"percent_delta": 0.0616,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.5061,
"delta": -0.0239,
"percent_delta": -0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0966,
"delta": 0.0066,
"percent_delta": 0.0733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2531,
"delta": -0.0059,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3157,
"delta": -0.0173,
"percent_delta": -0.052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2822,
"delta": 0.0022,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.319,
"after": 0.3081,
"delta": -0.0109,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.042,
"after": 1.0883,
"delta": 0.0463,
"percent_delta": 0.0444,
"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.875,
"after": 2.958,
"delta": 0.083,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.1974,
"delta": -0.0276,
"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": 24
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1158,
"predicted_3B": 0.0015,
"predicted_AB": 2.958,
"predicted_AVG": 0.1694,
"predicted_BB": 0.2646,
"predicted_H": 0.5011,
"predicted_HBP": 0.076,
"predicted_HR": 0.0951,
"predicted_OBP": 0.2376,
"predicted_R": 0.3109,
"predicted_RBI": 0.2779,
"predicted_SLG": 0.306,
"predicted_SO": 1.0917
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1158,
"after": 0.1158,
"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": 2.958,
"after": 2.958,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1974,
"after": 0.1694,
"delta": -0.028,
"percent_delta": -0.1418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2654,
"after": 0.2646,
"delta": -0.0008,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5061,
"after": 0.5011,
"delta": -0.005,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0966,
"after": 0.0951,
"delta": -0.0015,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2531,
"after": 0.2376,
"delta": -0.0155,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3157,
"after": 0.3109,
"delta": -0.0048,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2822,
"after": 0.2779,
"delta": -0.0043,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3081,
"after": 0.306,
"delta": -0.0021,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0883,
"after": 1.0917,
"delta": 0.0034,
"percent_delta": 0.0031,
"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.1974,
"after": 0.1694,
"delta": -0.028,
"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=2.96), rates preserved: AVG=0.169 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1158,
"after": 0.0,
"delta": -0.1158,
"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": 2.958,
"after": 3.0,
"delta": 0.042,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2646,
"after": 0.0,
"delta": -0.2646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5011,
"after": 1.0,
"delta": 0.4989,
"percent_delta": 0.9956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0951,
"after": 0.0,
"delta": -0.0951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2779,
"after": 0.0,
"delta": -0.2779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0917,
"after": 1.0,
"delta": -0.0917,
"percent_delta": -0.084,
"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.5011,
"after": 1.0,
"delta": 0.4989,
"percent_delta": 0.9956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2779,
"after": 0.0,
"delta": -0.2779,
"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.3109,
"after": 0.0,
"delta": -0.3109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"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.3109,
"after": 0.0,
"delta": -0.3109,
"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.1694,
"after": 0.333,
"delta": 0.1636,
"percent_delta": 0.9658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2376,
"after": 0.333,
"delta": 0.0954,
"percent_delta": 0.4015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.333,
"delta": 0.027,
"percent_delta": 0.0882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1694,
"after": 0.333,
"delta": 0.1636,
"percent_delta": 0.9658,
"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": 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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 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.1694,
"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.2376,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.306,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1694,
"delta": -0.1636,
"percent_delta": -0.4912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2376,
"delta": -0.0954,
"percent_delta": -0.2865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.306,
"delta": -0.027,
"percent_delta": -0.081,
"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.1694,
"delta": -0.1636,
"percent_delta": -0.4912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.875,
"after": 2.0,
"delta": -0.875,
"percent_delta": -0.3043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.1694,
"delta": -0.0556,
"percent_delta": -0.2471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"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.259,
"after": 0.2376,
"delta": -0.0214,
"percent_delta": -0.0826,
"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.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.319,
"after": 0.306,
"delta": -0.013,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.042,
"after": 0.0,
"delta": -1.042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.042,
"after": 0.0,
"delta": -1.042,
"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.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.875 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.530 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.319 | - |
| predicted_SO | 1.042 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.009 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.958 | 0.083 |
| predicted_AVG | 0.197 | -0.028 |
| predicted_BB | 0.265 | 0.015 |
| predicted_H | 0.506 | -0.024 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.097 | 0.007 |
| predicted_OBP | 0.253 | -0.006 |
| predicted_R | 0.316 | -0.017 |
| predicted_RBI | 0.282 | 0.002 |
| predicted_SLG | 0.308 | -0.011 |
| predicted_SO | 1.088 | 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.002 | 0.000 |
| predicted_AB | 2.958 | 0.000 |
| predicted_AVG | 0.169 | -0.028 |
| predicted_BB | 0.265 | -0.001 |
| predicted_H | 0.501 | -0.005 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.095 | -0.002 |
| predicted_OBP | 0.238 | -0.015 |
| predicted_R | 0.311 | -0.005 |
| predicted_RBI | 0.278 | -0.004 |
| predicted_SLG | 0.306 | -0.002 |
| predicted_SO | 1.092 | 0.003 |
AB rounded to 3 (raw=2.96), rates preserved: AVG=0.169 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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.116 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.042 |
| predicted_AVG | 0.333 | 0.164 |
| predicted_BB | 0.000 | -0.265 |
| predicted_H | 1.000 | 0.499 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.333 | 0.095 |
| predicted_R | 0.000 | -0.311 |
| predicted_RBI | 0.000 | -0.278 |
| predicted_SLG | 0.333 | 0.027 |
| predicted_SO | 1.000 | -0.092 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.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 | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 8.000 | 0.0000 | 0.1875 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1538 | 0.6154 |
| last_10 | 0.20 | 10 | - | 29.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 14.000 | 0.0345 | 0.1515 | 0.0345 | 0.0345 | 0.0000 | 0.0000 | 0.1035 | 0.4828 |
| season | 0.60 | 24 | - | 69.000 | 12.000 | 3.000 | 0.000 | 4.000 | 9.000 | 8.000 | 6.000 | 25.000 | 0.1739 | 0.2500 | 0.3913 | 0.1739 | 0.0580 | 0.1304 | 0.0870 | 0.3623 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1000 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.1010 |
| predicted_AVG | 0.1499 |
| predicted_BB | 0.2920 |
| predicted_H | 0.4650 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.2428 |
| predicted_R | 0.2860 |
| predicted_RBI | 0.2860 |
| predicted_SLG | 0.2892 |
| predicted_SO | 1.1680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1000 | 0.1158 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 2.8750 | 3.1010 | 2.9580 | model_form_blend |
| predicted_AVG | 0.2250 | 0.1499 | 0.1974 | model_form_blend |
| predicted_BB | 0.2500 | 0.2920 | 0.2654 | model_form_blend |
| predicted_H | 0.5300 | 0.4650 | 0.5061 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.0900 | 0.1080 | 0.0966 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2428 | 0.2531 | model_form_blend |
| predicted_R | 0.3330 | 0.2860 | 0.3157 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2860 | 0.2822 | model_form_blend |
| predicted_SLG | 0.3190 | 0.2892 | 0.3081 | model_form_blend |
| predicted_SO | 1.0420 | 1.1680 | 1.0883 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 46 |
| Season rows before report date | 46 |
| Report year | 2026 |
| Profile rows used | 24 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.174 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260704_SF@COL |
| game_type | full |
| mlbID | 606992 |
| playerID | 606992 |
| playerName | Eric Haase |
| pos | C |
| started | True |
| startingPosition | C |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-04 |
| sl_k_percent | 32.1 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.281 |
| sl_xwoba | 0.288 |
| sl_xba | 0.196 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 17.4 |
| sl_hard_hit_percent | 30.4 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 37.0 |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.353 | 6.000 | -1.353 | -5.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.647 | 6.000 | -2.647 | -6.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.824 | 5.000 | -1.824 | -2.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.071 | 2.200 | -0.071 | 2.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.824 | 4.000 | -0.824 | 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": "694738",
"player_name": "Landen Roupp",
"position": "Starter",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 0.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"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 | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.000 | 15.000 | 25.000 | 13.000 | 27.000 | 3.000 | 5.4000 | 1.5200 | 0.6000 | 1.0000 | 0.5200 | 1.0800 | 0.1200 |
| last_10 | 0.35 | 10 | 49.100 | 31.000 | 56.000 | 24.000 | 56.000 | 5.000 | 5.6554 | 1.6216 | 0.6284 | 1.1351 | 0.4865 | 1.1351 | 0.1013 |
| season | 0.20 | 17 | 89.000 | 45.000 | 82.000 | 40.000 | 99.000 | 6.000 | 4.5506 | 1.3708 | 0.5056 | 0.9214 | 0.4494 | 1.1124 | 0.0674 |
| Metric | Value |
|---|---|
| predicted_BB | 2.3390 |
| predicted_ER | 2.8860 |
| predicted_ERA | 5.1416 |
| predicted_H | 5.1400 |
| predicted_HR | 0.5730 |
| predicted_IP | 5.0000 |
| predicted_SO | 5.4120 |
| predicted_WHIP | 1.4805 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 2.3390 | 1.7418 | model_form_blend |
| predicted_ER | 0.0000 | 2.8860 | 1.5987 | model_form_blend |
| predicted_ERA | - | 5.1416 | 5.1416 | form_only |
| predicted_H | 3.0000 | 5.1400 | 4.1855 | model_form_blend |
| predicted_HR | 0.0000 | 0.5730 | 0.3174 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 5.0000 | 5.4120 | 5.2282 | model_form_blend |
| predicted_WHIP | - | 1.4805 | 1.4805 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 3 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 20 |
| 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 | 6 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 6 |
| Pitching_ERA | 4.55 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.2 |
| Pitching_Pitches | 84 |
| Pitching_R | 6 |
| Pitching_SO | 4 |
| Pitching_Strikes | 44 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260630_SF@ARI |
| game_type | full |
| mlbID | 694738 |
| playerID | 694738 |
| playerName | Landen Roupp |
| pos | P |
| started | True |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-30 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.316 |
| sl_xwoba | 0.289 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 42.4 |
| sl_avg_best_speed | 75.824313162 |
| sl_avg_hyper_speed | 92.688685451 |
| 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.472 | 0.000 | 0.528 | 1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 0.472 | 1.000 | 3.528 | 3.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 0.833 | 2.000 | 3.167 | 2.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 | 1.250 | 2.000 | -0.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": "668873",
"player_name": "Caleb Kilian",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 4.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": 4.0,
"after": 4.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": 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": 4.0,
"after": 4.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": 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 | 4.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 6.000 | 9.000 | 2.000 | 7.000 | 0.000 | 11.5714 | 2.3571 | 1.2857 | 1.9286 | 0.4286 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 6.000 | 11.000 | 3.000 | 15.000 | 0.000 | 5.7857 | 1.5000 | 0.6429 | 1.1786 | 0.3214 | 1.6071 | 0.0000 |
| season | 0.20 | 36 | 37.000 | 17.000 | 30.000 | 17.000 | 45.000 | 5.000 | 4.1351 | 1.2703 | 0.4595 | 0.8108 | 0.4595 | 1.2162 | 0.1351 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3810 |
| predicted_ER | 0.7370 |
| predicted_ERA | 6.6315 |
| predicted_H | 1.2510 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2670 |
| predicted_WHIP | 1.6319 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3810 | 0.7036 | model_form_blend |
| predicted_ER | 4.0000 | 0.7370 | 2.4378 | model_form_blend |
| predicted_ERA | - | 6.6315 | 6.6315 | form_only |
| predicted_H | 4.0000 | 1.2510 | 2.6839 | model_form_blend |
| predicted_HR | 1.0000 | 0.0770 | 0.5581 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2670 | 1.1278 | model_form_blend |
| predicted_WHIP | - | 1.6319 | 1.6319 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4 |
| R | 4 |
| ER | 4 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| BF | 8 |
| 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 | 4.14 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260704_SF@COL |
| game_type | full |
| mlbID | 668873 |
| playerID | 668873 |
| playerName | Caleb Kilian |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-04 |
| sl_k_percent | 28.5 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.287 |
| sl_xwoba | 0.301 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 37.2 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 48.4 |
| sl_avg_best_speed | 75.613706957 |
| sl_avg_hyper_speed | 93.576580652 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.385 | 3.000 | 0.615 | -2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.769 | 2.000 | 1.231 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.808 | 1.000 | 0.192 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.923 | 1.000 | 0.077 | 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": "681916",
"player_name": "Dylan Smith",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 5.000 | 6.000 | 1.000 | 5.000 | 2.000 | 9.0000 | 1.4000 | 1.0000 | 1.2000 | 0.2000 | 1.0000 | 0.4000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 10.000 | 4.000 | 9.000 | 2.000 | 5.0000 | 1.5556 | 0.5556 | 1.1111 | 0.4444 | 1.0000 | 0.2222 |
| season | 0.20 | 13 | 11.200 | 5.000 | 10.000 | 5.000 | 12.000 | 2.000 | 3.8571 | 1.2857 | 0.4286 | 0.8571 | 0.4286 | 1.0286 | 0.1714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3490 |
| predicted_ER | 0.5760 |
| predicted_ERA | 5.1802 |
| predicted_H | 1.0110 |
| predicted_HR | 0.1940 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9700 |
| predicted_WHIP | 1.3600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3490 | 0.1260 | model_form_blend |
| predicted_ER | 1.0000 | 0.5760 | 0.8469 | model_form_blend |
| predicted_ERA | - | 5.1802 | 5.1802 | form_only |
| predicted_H | 2.0000 | 1.0110 | 1.6428 | model_form_blend |
| predicted_HR | 1.0000 | 0.1940 | 0.7089 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9700 | 0.9892 | model_form_blend |
| predicted_WHIP | - | 1.3600 | 1.3600 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 13 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 681916 |
| playerID | 681916 |
| playerName | Dylan Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.319 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 35.3 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 77.517195882 |
| sl_avg_hyper_speed | 93.064652353 |
| 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.690 | 0.000 | -0.690 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.683 | 1.200 | 0.317 | -0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.138 | 2.000 | 0.862 | 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": "669062",
"player_name": "Erik Miller",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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 | 4.100 | 0.000 | 2.000 | 3.000 | 6.000 | 0.000 | 0.0000 | 1.1538 | 0.0000 | 0.4615 | 0.6923 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 7.200 | 1.000 | 8.000 | 5.000 | 9.000 | 1.000 | 1.1739 | 1.6957 | 0.1304 | 1.0435 | 0.6522 | 1.1739 | 0.1304 |
| season | 0.20 | 28 | 24.000 | 9.000 | 18.000 | 18.000 | 33.000 | 2.000 | 3.3750 | 1.5000 | 0.3750 | 0.7500 | 0.7500 | 1.3750 | 0.0833 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4900 |
| predicted_ER | 0.2990 |
| predicted_ERA | 2.8537 |
| predicted_H | 0.8010 |
| predicted_HR | 0.1010 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0630 |
| predicted_WHIP | 1.3688 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4900 | 0.2124 | model_form_blend |
| predicted_ER | 0.0000 | 0.2990 | 0.1296 | model_form_blend |
| predicted_ERA | - | 2.8537 | 2.8537 | form_only |
| predicted_H | 0.0000 | 0.8010 | 0.3473 | model_form_blend |
| predicted_HR | 0.0000 | 0.1010 | 0.0438 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0630 | 1.5938 | model_form_blend |
| predicted_WHIP | - | 1.3688 | 1.3688 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260705_SF@COL |
| game_type | full |
| mlbID | 669062 |
| playerID | 669062 |
| playerName | Erik Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-05 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 18.3 |
| sl_woba | 0.322 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 30.9 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 36.7 |
| sl_avg_best_speed | 70.97634 |
| sl_avg_hyper_speed | 93.081084906 |
| 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.560 | 2.000 | 0.440 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.720 | 1.000 | -0.720 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.120 | 2.000 | -1.120 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.824 | 2.200 | 0.176 | -1.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.760 | 1.000 | 0.240 | 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": "676254",
"player_name": "Ryan Walker",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 3.000 | 4.000 | 4.000 | 2.000 | 0.000 | 4.5000 | 1.3333 | 0.5000 | 0.6667 | 0.6667 | 0.3333 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 7.000 | 10.000 | 7.000 | 6.000 | 1.000 | 5.9062 | 1.5938 | 0.6562 | 0.9375 | 0.6562 | 0.5625 | 0.0938 |
| season | 0.20 | 24 | 24.100 | 14.000 | 24.000 | 14.000 | 19.000 | 2.000 | 5.1781 | 1.5616 | 0.5753 | 0.9863 | 0.5753 | 0.7808 | 0.0822 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5350 |
| predicted_ER | 0.5760 |
| predicted_ERA | 4.8269 |
| predicted_H | 0.9650 |
| predicted_HR | 0.1070 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7870 |
| predicted_WHIP | 1.3973 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5350 | 0.7977 | model_form_blend |
| predicted_ER | 0.0000 | 0.5760 | 0.2506 | model_form_blend |
| predicted_ERA | - | 4.8269 | 4.8269 | form_only |
| predicted_H | 0.0000 | 0.9650 | 0.4198 | model_form_blend |
| predicted_HR | 0.0000 | 0.1070 | 0.0465 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7870 | 0.9073 | model_form_blend |
| predicted_WHIP | - | 1.3973 | 1.3973 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 12 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.66 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 2.2 |
| Pitching_Pitches | 43 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260703_SF@COL |
| game_type | full |
| mlbID | 676254 |
| playerID | 676254 |
| playerName | Ryan Walker |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-07-03 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.347 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 33.8 |
| sl_whiff_percent | 15.2 |
| sl_swing_percent | 43.0 |
| sl_avg_best_speed | 71.216427436 |
| sl_avg_hyper_speed | 92.730823974 |